Как синхронизировать два репозитория git-svn - PullRequest
3 голосов
/ 01 июля 2011

Мне нужно использовать хранилище Subversion, и я хотел бы использовать git-svn.Я иногда переключаю компьютер, и в данный момент мне нужно зафиксировать свои изменения и обновить другой компьютер.Иногда измененный код не работает, поэтому я хотел бы создать два репозитория git-svn и синхронизировать их с push / pull, а иногда синхронизировать их (или один из них) с репозиторием svn.Это будет возможно?Переключение репозитория на git не вариант.(К сожалению)

Ответы [ 2 ]

3 голосов
/ 01 июля 2011

Если вам нужно синхронизировать с SVN ваш репозиторий Git с обоих компьютеров, тогда да: каждый репозиторий будет «git-svn».
Вы создаете 2 репозитория, а затем создаете свой собственный набор веток git поверх git-svn.

Но вы не должны объединять / выдвигать / извлекать ветки, которые будут возвращены в SVN: вам нужно обратить внимание на раздел CAVEATS в git-svn :

Для простоты и взаимодействия с Subversion рекомендуется всем git svn пользователям clone, fetch и dcommit напрямую с сервера SVN и избегать всех мерзавцев clone / pull / merge / push операции между репозиториями git и ветками. Рекомендуемый метод обмена кодом между ветвями git и пользователями - это git format-patch и git am, или просто «отправка» в репозиторий SVN.

Запуск git merge или git pull НЕ рекомендуется в ветке, из которой вы планируете dcommit, поскольку пользователи Subversion не могут видеть сделанные вами слияния. Более того, если вы merge или pull из ветки git, которая является зеркалом ветки SVN, dcommit может зафиксировать неправильную ветку.

2 голосов
/ 01 июля 2011

Я бы сказал rsync два репо на двух машинах.У вас будет тот же репо.

...