История коммитов SVN потеряна после перехода на git - PullRequest
0 голосов
/ 14 октября 2019

По сути, у меня есть структура проекта

repo
    ---.svn
    ---module1
              ---trunk
              ---branches -- <some-branches>
              ---tags -- <some-tags>
    ---module2
              ---trunk
              ---branches -- <some-branches>
              ---tags -- <some-tags>
    ---module3
              ---trunk
              ---branches -- <some-branches>
              ---tags -- <some-tags>

Чтобы перейти на git, я сделал svn mv и реорганизовал структуру с помощью коммита "restructure-code" в

repo
    ---.svn
    ---trunk
            ---module1
            ---module2
            ---module3
    ---branches
               ---some-branch    
                             ---module1
                             ---module2
                             ---module3
    ---tags
               ---some-tag    
                             ---module1
                             ---module2
                             ---module3    

После этого я использовал git-svn, чтобы перенести его в git. Но вся история коммитов до «кода реструктуризации» теряется. Я также попробовал svn2git, но он дал тот же результат. Первым коммитом был сам «код реструктуризации». git log показывает только до этого момента. Даже git log <any-file/folder> показывает «код реструктуризации» в качестве первого коммита со статусом A (добавлен файл / каталог).

Я думаю, что git-svn / svn2git - это то, как логически корректироватьИстория коммитов, чтобы понять смысл стандартного макета SVN, потому что, если старые коммиты были сохранены в git, скажем, в module1-> branch-> 1.0, и я хочу вернуться в это состояние, это не будет иметь никакого смысла, так как придется создавать старыеструктура папок и, более того, некоторые коммиты выполняются коллективно, как

svn ci module1/trunk/file1 module1/branches/1.0/file1

Есть ли способ преодолеть эту проблему и достичь надлежащего состояния в git, сохранив все коммиты и сохранив желаемую структуру ветвей?

...