我们计划将SVN回购转换为Mercurial回购。问题是我们在旧版本中有很多废话 - 数百MB的罐子,exes等我们希望在Mercurial仓库中没有,甚至在历史上也没有(因为它会使初始克隆因为大而非常慢)尺寸)。
无论是SVN还是Mercurial都无法从存储库中完全删除文件 - 您可以将其删除,但它会作为历史记录保留在您的存储库中。
我认为理论上可以在转换过程中过滤这些文件 - 只需转换除了具有特定扩展名(.jar,.exe)的文件以外的所有文件。
或者,如果hg convert只转换在转换时未从trunk中删除的文件,那将会很棒。
天真地,在运行hg转换后,我试图从.hg / store中删除相关文件但是在推送过程中导致“abort:empty or missing revlog for ...”。
有没有人尝试过类似的东西?
谢谢!
答案 0 :(得分:3)
查看--filemap
的{{1}}选项:
https://www.mercurial-scm.org/wiki/ConvertExtension#A--filemap
您还可以使用hg convert
进行hgsubversion转换 - 这里有几个有用的页面:
http://makandracards.com/evgeny-goldin/5877-converting-svn-to-mercurial-using-hgsubversion http://dd9e.blogspot.com.au/2010/10/using-filemap-with-hgsubversion.html