我已经看到了许多关于此的 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
完成之后,我按照这个清理我的分支和标签,但是当我做 a 时git log
,我只看到从分支/标签/主干在 svn 中复制的那一点开始的历史记录。
我试过git log --follow
了,但这不起作用。我已经尝试了这些-M -C and --find-copies-harder
选项,它们都显示相同的内容。
我原以为通过确保我克隆了所有分支、标签和主干,git 将能够找到从中复制目录的父级。
我想要的根本不可能吗?没有历史并不是世界上最糟糕的事情,但它会很好。