我想将cvs和svn存储库组合成一个新的git仓库,当然不会丢失历史记录.捕获的是svn repo是历史上cvs repo的直接延续.有人刚刚创建了svn repo并且笨拙地从cvs添加了最后一个状态而没有保留任何历史记录.最近的消息来源是svn.我不想保留旧的回购.
图形历史:
CVS: A - B - C
SVN: D - E - F - G
Run Code Online (Sandbox Code Playgroud)
我想要的是:
GIT: A - B - C - D - E - F - G
Run Code Online (Sandbox Code Playgroud)
我用cvs2git用cvs制作了一个git repo,用svn制作了另一个git repo,git svn clone如http://john.albin.net/git/convert-subversion-to-git所述,但是无法弄清楚如何组合二.我这样做了:
git clone cvs.git
cd cvs
git remote add svn ../../svn.git
git fetch svn
Run Code Online (Sandbox Code Playgroud)
怎么办?git merge -s ours svn/master似乎做我想要的但不创建线性历史:
A - B - C - - - H'
/
D - E - F - G …Run Code Online (Sandbox Code Playgroud)