我已经使用'hg convert‘命令尝试将我的SVN存储库移动到hg,它似乎起作用了(需要一段时间,并在运行过程中打印出所有提交消息),但最终得到的Mercurial目录是空的。它有一个.hg隐藏子目录,大约200MB,所以发生了一些事情,但是没有文件在那里。
有什么想法吗?
我能想到的唯一一件事是,我们有许多项目,每个项目都有自己的主干、分支、标记,而不是顶级的主干、分支、标记目录:
svn-repository/
Project1/
trunk/
branches/
tags/
Project2/
trunk/
branches/
tags/ 等等。
这可能是导致问题的原因吗?我的理解是,SVN实际上并不关心您如何组织存储库,但Mercurial呢?
发布于 2009-10-15 20:02:00
您需要运行hg update来获取工作副本。
(这种没有工作副本的mercurial存储库可以用作纯粹的通信点,在这里可以将修订推送到subversion服务器或从中拉出,这与subversion服务器非常相似。在本例中,它是由hg convert创建的,但您也可以使用hg clone --noupdate或hg update null创建这样的存储库。省略工作副本文件可节省一些空间。)
此外,我会建议你转换每个项目分别。如果你给出"project1“的网址,hg convert将自动检测trunk,branches和tags子文件夹,并做正确的事情。
在mercurial中,分支是一级概念,而不仅仅是碰巧从主干复制svn的文件夹。分支并不像svn那样位于任何用户可见的位置。在单个mercurial存储库中拥有多个项目(每个项目都有自己的分支)是没有意义的。
https://stackoverflow.com/questions/1574371
复制相似问题