Svn 2 Git, как восстановить удаленную ветку (тег svn преобразован в git удаленную ветку) - PullRequest
0 голосов
/ 23 апреля 2020

Я конвертировал наше репозиторий SVN в git, делая это

В основном это было просто:

git svn clone svn://PATH_2_SVN_REPOSITORY/ --prefix=svn/ --authors-file "authors.txt" --stdlayout  \pathToMigrationResultGitFolder

Вы заметите, что подрывная деятельность " теги "(которые в subversion на самом деле вообще не являются тегами, они просто ветви без какой-либо последующей ревизии) были преобразованы в Git ветви в их собственном пространстве имен (мы заставили пространство имен быть" svn / "(через --prefix = svn) /))

Затем обычно теги svn преобразуются следующим образом:

for t in `git branch -r | grep "tags/" | sed s_svn/tags/__` ; do
 git tag $t  svn/tags/$t
 git branch -d -r  svn/tags/$t
done

Но мы этого не сделали, потому что было решено удалить все теги и ветви SVN, как это:

for t in `git branch -r` ; do    
    git branch -d -r $t
done

Затем все было перенесено в удаленное хранилище (bitbucket), и с тех пор люди работают над этим хранилищем (то есть с тех пор было создано много проверок, ветвей и тегов ...)

Теперь было решено, что лучше снова иметь теги SVN…

Есть ли способ сделать это?

Я нашел это в. git В папке все удаленные теги перечислены в: .git \ svn \ refs \ remotes \ svn \ tags

и их довольно много (~ 100), поэтому делать это вручную не вариант.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...