Преодолеть мерзавец SVN предостережения - PullRequest
12 голосов
/ 12 апреля 2011

Я читаю ПРОТЕЧКИ git-svn . через этот ТАК вопрос .

Я понимаю, что:

Если вы зеркалируете svn trunk, ветки и т. Д. В git repo, не объединяйте и не перемещайте ничего локально в этих ветках. В частности master указывает на trunk.

Моя точка зрения такова, что это сделает git-svn искалеченным. Какой смысл в git, если я не могу разветвиться от мастера, а затем слить эту измененную ветвь обратно в мастер? Возможно, мне не хватает некоторого предостережения в предупреждении о том, что можно объединить определенные ветви с одним и тем же родителем без каких-либо перебазировок.

Может ли кто-нибудь указать мне, что именно следует избегать и что разрешено. Я бы хотел, чтобы при необходимости локальные ветки зеркально отображались и объединялись, а самое главное, git должен выполнять слияния, чем svn.

Если я использую ветки git для зеркалирования веток svn и не могу объединить ветки git, какой смысл в любом случае в git-svn?

Ответы [ 2 ]

4 голосов
/ 12 апреля 2011

git-svn покалечен по определению.Вы ничего не можете сделать, Subversion не работает, как слияния.

ОДНАКО, вы можете временно изменить правила Subversion с помощью перебазирования.Я показал пример этого в посте / скринкасте:

http://blog.tfnico.com/2010/10/gitsvn-4-collaborate-with-other-git.html

(много других советов по работе с git-svn здесь .) * +1010 *

4 голосов
/ 12 апреля 2011

Вы можете объединить ветки git, то есть те, которые не отражаются напрямую из SVN.

Я бы хотел иметь свой собственный набор веток Git, сделанный из веток "git-svn", ирегулярно перезагружается поверх упомянутых веток "git-svn".
Таким образом, я делаю все необходимые слияния локально в репозитории Git, затем я выбираю то, что мне нужно для обновления "git-svn"ветви, которые я могу безопасно dcommit, не беспокоясь о первом родителе, упомянутом в разделе CAVEAT git-svn

...