Как мне получить одну ветку, используя Git SVN fetch? - PullRequest
4 голосов
/ 03 апреля 2012

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

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

Ответы [ 3 ]

3 голосов
/ 03 апреля 2012

Вы можете извлечь удаленную ветвь, соответствующую вашему текущему HEAD, используя git svn fetch --parent.

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

0 голосов
/ 04 апреля 2012

У нас возникла такая же проблема.Нашим решением было (к нашему большому удовлетворению) не использовать выборку в 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.Вы фиксируете и делаете ветки как в git, затем ...

фиксируете в SVN:

git svn dcommit

извлекаете из SVN: (в diff)

git svn rebase
0 голосов
/ 03 апреля 2012

Страница man git-svn

отметьте следующее:

git-svn init --ignore-paths=<regex>  
git-svn fetch --ignore-paths=<regex>
...