git-svn: запретить коммит, если требуется svn rebase - PullRequest
1 голос
/ 21 декабря 2011

Два человека запускают git локально и используют git-svn для синхронизации с удаленным главным SVN-сервером.

Человек A выполняет SVN REBASE и изменяет свой локальный файл git.Человек B также выполняет SVN REBASE и локально изменяет тот же файл в своем git для другой проблемы.

Человек B фиксирует с помощью GIT SVN DCOMMIT.

Человек A фиксирует с помощью GIT SVN DCOMMIT, но так какони пропускают коммит Person B, коммит Person B откатывается.

Есть ли способ пометить GIT SVN DCOMMIT, если удаленный сервер SVN необходимо перебазировать?

1 Ответ

0 голосов
/ 21 декабря 2011

Ваше использование выше или имеет ошибку или очень странно. что должно произойти:

<ч /> 1) оба проверяют хранилище через git svn clone

2) Когда A или B вносят изменения, они должны:

2a) внести изменения

2b) git commit это

2c) либо продолжайте работу (переход к пункту 2a), либо нажмите изменение вверх

3) прежде чем совершать свои собственные действия, им нужно будет сделать git svn rebase. git-svn на самом деле уже не позволит вам перейти к шагу 4, пока вы не будете синхронизированы с восходящим репозиторием svn

4) git svn dcommit

<ч />

Если вы выполните описанные выше шаги, вы не сможете перейти от шага № 3 к успешному шагу 4 (git dcommit) без первого запуска rebase. Поскольку rebase перемещает все ваши изменения в верхнюю часть дерева SVN в git, вы никогда не отмените чужие изменения.

Теперь .... Если вы пытаетесь сделать git pull с от A до B или от B до A: там будут драконы; ты не должен этого делать. (ну, вы можете, но это гораздо сложнее, выше гораздо безопаснее)

...