迁移到git后丢失了SVN提交历史记录

时间:2019-10-14 14:33:33

标签: git svn git-svn svn2git

基本上我有一个项目结构

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-> branches-> 1.0内部说,指出这没有任何意义,因为它必须创建旧的文件夹结构,而且某些提交是像

一样集体完成的
svn ci module1/trunk/file1 module1/branches/1.0/file1

总有办法克服这个问题并在git中保留所有提交并保留所需的分支结构的状态吗?

0 个答案:

没有答案