【发布时间】:2013-07-18 18:52:36
【问题描述】:
我已经看到许多关于此的 SO 帖子,但没有解决方案。
我有一个 subversion 存储库,托管多个项目。我想将其中一个项目迁移到 git,同时保留包含分支、标签和主干副本的历史记录。
这个项目最初的结构是:
root/
dir/
mod1/
trunk/
branches/
tags/
mod2/
trunk/
branches/
tags/
...
最初这些项目是作为独立项目开发的,但事实证明它们比我们最初想象的更相关,我们决定通过将所有单独的主干、分支和标签目录复制到 dir/ 下进行重组,看起来像:
root/
dir/
trunk/
mod1/
mod2/
...
branches/
tags/
我的git svn clone 看起来像:
git svn clone --no-metadata <svn_url>/root/dir -s git-svn-clone
完成之后,我按照this 清理我的分支和标签,但是当我执行git log 时,我只能看到从分支/标签/主干在 svn 中复制的那一点开始的历史记录。
我试过git log --follow 但这不起作用。我尝试了-M -C and --find-copies-harder 选项,它们都显示相同的内容。
我原以为通过确保我克隆了所有分支、标签和树干,git 将能够找到从中复制目录的父目录。
我想要的根本不可能吗?没有历史并不是世界上最糟糕的事情,但它会很好。
【问题讨论】: