2012-04-03 4 views
4

Я работаю с плагином Git SVN с репозиторием SVN, каждый раз, когда я получаю git, он извлекает все изменения ветвей во всем репозитории SVN. это занимает много времени после нескольких часов со многими фиксациями по многим ветвям.Как получить одну ветку с помощью Git SVN fetch?

Могу ли я сказать, чтобы он менял изменения только для определенных ветвей?

ответ

3

Вы можете получить удаленный филиал, соответствующий текущей ГОЛОВЕ с помощью git svn fetch --parent.

Невозможно получить из одной удаленной ветки Subversion, которая не является родительской ветвью, к сожалению. Тем не менее, вы можете пинать git svn fetch; это не повлияет на вашу рабочую копию вообще. У меня установлен мой компьютер, чтобы делать выборку автоматически за одну ночь, используя cron.

0

У нас была такая же проблема. Наше решение было (к нашему большому удовлетворению) не использовать выборку на SVN, но чтобы позволить git импортировать все теги SVN, ветви и магистрали в структуру git.

Наш SVN-репозиторий даже не был правильно создан (соединительные линии/метки/каталоги филиалов), но это не имело значения.

git svn --tags PATH_TO_YOUR_TAGS --branches PATH_TO_YOUR_BRANCHES --trunk PATH_TO_YOUR_TRUNK svn+ssh://path.to.your.svn/repository 

Это займет очень много времени. После этого рабочий процесс равен git-like. Вы допускаете и сделать ветви, как и в git, то ...

совершить SVN:

git svn dcommit 

извлечение из SVN: (в дифф)

git svn rebase