Как я могу повторно получить ревизии новой указанной ветки с помощью git-svn - PullRequest
6 голосов
/ 29 июня 2010

Я получил целый репозиторий из SVN до версии 15000. Я понял, что у меня есть дополнительная ветка, спрятанная в другом месте.Есть ли способ обновить файл .git / config с указанием местоположения этой новой ветви и повторно извлечь только ревизии, относящиеся к этой ветви?

Ответы [ 2 ]

10 голосов
/ 29 июня 2010

Вы можете добавить еще одну запись branches в раздел svn-remote вашего .git/config файла. После этого, выполнение git svn fetch должно вызвать дополнительные ревизии.


Если я правильно понимаю, вы можете заставить git-svn повторно сканировать более старые версии веток, удалив (или изменив) строку max-branchesRev из .git/svn/.metadata и снова запустив git svn fetch. Если вы измените строку вместо того, чтобы удалить ее, то вы захотите установить ее ревизию раньше, чем когда была создана ваша ветка. После этого он повторно просканирует ветки на наличие всех ревизий.


Я, наверное, должен был сначала пойти с git svn reset вместо того, чтобы связываться с .git/svn/.metadata. Если следующее не работает, то у меня нет идей. :)

# Find the svn revision git knows about that's just previous (or close to)
# the revision which created the branch
$ git svn reset -r $foundSvnRev
$ git svn fetch
$ git reset --hard $remoteBranch

Тогда вы сможете использовать git svn как обычно.

0 голосов
/ 29 июня 2010

Предполагая, что это просто еще одно место в том же хранилище, вы можете просто указать через параметр --branch.Он будет игнорировать все, что уже было извлечено.

Если это еще один SVN-репозиторий, вы можете настроить еще один SVN-пульт и получить его оттуда.

...