我将我的svn存储库转换为mercurial。当我克隆这个新的存储库时,默认的分支有不同的名称,为什么?

时间:2010-04-07 01:35:25

标签: mercurial

我已成功将我的svn存储库转换为mercurial,但是当我克隆此repo时,默认分支被赋予项目名称而不是“default”。

的示例:

远程服务器上的

hg branch
default

在本地机器上:

hg clone http://server/hg/coolProject
hg branch
coolProject

我希望本地计算机上的hg分支输出“default”。我不会真的关心这个,但当我将我的更改推回到原始仓库时,会创建一个新头,我认为这是因为不同的分支名称。

3 个答案:

答案 0 :(得分:3)

我今天遇到了同样的问题。

该解决方案很好地记录在Mercurial: The Definitive Guide: Migrating to Mercurial一书中,但在ConvertExtension wiki中记录不足。

hg convert --config convert.hg.usebranchnames=false 

答案 1 :(得分:0)

当您说“默认分支被赋予项目名称​​默认”时,没有使用分支机构名称“默认”的更改集,或者只是您在克隆后最终得到的分支?如果是晚些时候,你可以随时hg update default

如果是前者,您可以重新convert使用--branchmap选项重命名您要转到default的分支。

答案 2 :(得分:0)

hg branch命令显示您当前所在的分支。请改用hg branches命令。可能远程服务器和本地计算机不在同一版本中。

使用存储库资源管理器hg servehg identifyhg log来查看是否属于这种情况。

对于最终作为分支名称的项目名称,如在SVN分支中实际上只是文件夹和分支按惯例完成,可能SVN转换错误地将项目文件夹作为分支文件夹。您的SVN项目是否具有trunk / branches / tags的标准文件夹布局?在这种情况下,请使用convert.svn选项指定您的布局(请参阅hg help convert)。您也可以尝试向上或向下移动一个目录。