颠覆后的空存储库 - > mercurial转换

时间:2009-10-15 19:03:39

标签: svn mercurial

我已经使用'hg convert'命令尝试将我的SVN存储库移动到hg,它似乎工作(需要一段时间并打印出所有提交消息),但最后结果Mercurial目录为空。它有.hg隐藏的子目录,它大约200 MB所以SOMETHING发生了,但没有文件存在。

有什么想法吗?

我唯一可以想到的是,我们有很多项目,每个项目都有自己的主干,分支,标签,而不是拥有顶级主干,分支机构,标签目录:


svn-repository/  
    Project1/  
        trunk/  
        branches/  
        tags/  
    Project2/  
        trunk/  
        branches/  
        tags/  

等...

这会导致问题吗?我的理解是SVN并不真正关心你如何组织存储库,而是Mercurial?

1 个答案:

答案 0 :(得分:29)

您需要运行hg update才能获得正常工作的副本。

(没有工作副本的这种mercurial存储库可以用作纯粹的通信点,其中推送或撤销修订,就像一个subversion服务器。在这种情况下,它是由hg convert创建的,但你也可以创建这样的存储库使用hg clone --noupdatehg update null。省略工作副本文件可节省一些空间。)

另外,我建议您单独转换每个项目。如果您提供“project1”的网址,hg convert会自动检测trunkbranchestags子文件夹,并会做正确的事情。

在mercurial中,分支是一流的概念,而不仅仅是恰好已经从主干中复制svn的文件夹。分支不在svn中的任何用户可见位置。在一个mercurial存储库中拥有多个项目(每个项目都有自己的分支)并没有多大意义。