我在SVN中有一个多模块遗留项目,其中单独的模块被单独发布和标记,从而产生以下结构:
trunk/
project/
moduleX/
moduleY/
moduleZ/
tags/
moduleX-1.0/
moduleX-1.1/
moduleY-0.1/
moduleZ-2.0/
看起来标签是使用svn copy trunk/project/moduleX/ tags/moduleX-1.0/
等创建的,而不是svn copy trunk/project/ tags/moduleX-1.0
是否可以将此类项目作为单个存储库迁移到Git,保留历史记录并创建适当的标记?
答案 0 :(得分:0)
您需要手动配置git-svn。
git init moduleX ; git init moduleY ; git init moduleZ
MODULEX /的.git /配置:
[svn-remote "svn"]
url = svn://your-server/svn-repo
fetch = trunk/project/moduleX:refs/remotes/svn/trunk
tags = tags/moduleX-*:refs/remotes/svn/tags/*
moduleY /的.git /配置:
[svn-remote "svn"]
url = svn://your-server/svn-repo
fetch = trunk/project/moduleY:refs/remotes/svn/trunk
tags = tags/moduleY-*:refs/remotes/svn/tags/*
moduleZ /的.git /配置:
[svn-remote "svn"]
url = svn://your-server/svn-repo
fetch = trunk/project/moduleZ:refs/remotes/svn/trunk
tags = tags/moduleZ-*:refs/remotes/svn/tags/*
git svn fetch
。