我已成功将我的svn存储库转换为mercurial,但是当我克隆此repo时,默认分支被赋予项目名称而不是“default”。
的示例:
远程服务器上的:
hg branch
default
在本地机器上:
hg clone http://server/hg/coolProject
hg branch
coolProject
我希望本地计算机上的hg分支输出“default”。我不会真的关心这个,但当我将我的更改推回到原始仓库时,会创建一个新头,我认为这是因为不同的分支名称。
答案 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 serve
或hg identify
和hg log
来查看是否属于这种情况。
对于最终作为分支名称的项目名称,如在SVN分支中实际上只是文件夹和分支按惯例完成,可能SVN转换错误地将项目文件夹作为分支文件夹。您的SVN项目是否具有trunk / branches / tags的标准文件夹布局?在这种情况下,请使用convert.svn
选项指定您的布局(请参阅hg help convert
)。您也可以尝试向上或向下移动一个目录。