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

Han*_*ank 23 svn mercurial

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

有什么想法吗?

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


svn-repository/  
    Project1/  
        trunk/  
        branches/  
        tags/  
    Project2/  
        trunk/  
        branches/  
        tags/  
Run Code Online (Sandbox Code Playgroud)

等等...

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

Wim*_*nen 29

您需要运行hg update以获取工作副本.

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

另外,我建议你单独转换每个项目.如果给"PROJECT1"的网址,hg convert会自动检测trunk,branchestags子文件夹,并会做正确的事.

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