Наша компания использует (и поддерживает!) SVN, но я предпочитаю использовать git. Что я хочу попробовать, так это иметь репозиторий git - по одному на проект, разработчики проектов смогут извлекать из этого репозитория (и, конечно, извлекать друг от друга, если они захотят). Но я все равно хочу подтолкнуть все изменения в SVN, потому что SVN поддерживается нашей техподдержкой.
Я тестировал сценарий со следующими репозиториями:
Единственная проблема с прямым использованием git svn rebase и git svn dcommit, которую я заметил, заключается в том, что после каждого нажатия на git разработчика репозиторий в репозиторий git-svn-clone Я должен перебазировать репозиторий разработчика, как только изменения будут распространены на SVN и перебазированы. Чего я хочу добиться, так это избегать перебазирования после каждого нажатия.
Обратите внимание: я предполагаю, что каждый разработчик проекта будет использовать только репозиторий git, и никто не будет использовать SVN напрямую.
Мне удалось добиться этого поведения вручную, проверяя каждую фиксацию git один за другим в репозитории 'git-svn-clone' после отправки и фиксируя эти изменения в SVN с помощью клиента SVN. Я считаю, что 'git svn dcommit' делает то же самое, но он также синхронизируется с SVN и изменяет идентификаторы SHA фиксации, что вынуждает меня перебазировать.
PS: - опция no-rebase
для git svn dcommit
не помог, поскольку после первого коммита, распространенного на SVN , git svn dcommit
не позволял мне вносить больше изменений в SVN, пока предыдущий не был перебазирован. Однажды я пробовал такое поведение и, наверное, мог что-то пропустить.