Mercurial 使用新的默认分支名称将svn存储库拉入/克隆到hg中?
我正在分叉一个项目的SVN回购协议,需要整合到我的Mercurial回购协议中。为了简单起见,我有一个本地hgsubversion repo和一个本地hg repo。但是,mercurial和hgsubversion回购都使用默认名称作为其默认分支名称。我的目标是将原始代码和更新放在一个分支上,将我的代码放在默认分支上 然而,我还没有能够做到这一点Mercurial 使用新的默认分支名称将svn存储库拉入/克隆到hg中?,mercurial,hgsubversion,Mercurial,Hgsubversion,我正在分叉一个项目的SVN回购协议,需要整合到我的Mercurial回购协议中。为了简单起见,我有一个本地hgsubversion repo和一个本地hg repo。但是,mercurial和hgsubversion回购都使用默认名称作为其默认分支名称。我的目标是将原始代码和更新放在一个分支上,将我的代码放在默认分支上 然而,我还没有能够做到这一点 W:\programming\tcsite-svn-test>hg clone http://*HG_SITE*/hg . no change
W:\programming\tcsite-svn-test>hg clone http://*HG_SITE*/hg .
no changes found
updating to branch default
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
W:\programming\tcsite-svn-test>hg branch blizzard
marked working directory as branch blizzard
W:\programming\tcsite-svn-test>hg commit
W:\programming\tcsite-svn-test>hg log
changeset: 0:be13a9580df0
branch: blizzard
tag: tip
user: Leon Blakey <lord.quackstar@gmail.com>
date: Fri Jan 14 23:44:25 2011 -0500
summary: Created Blizzard Branch
W:\programming\tcsite-svn-test>hg pull http://*SVN_SITE*/svn/
pulling from http://*SVN_SITE*/svn/
....
pulled 23 revisions
(run 'hg update' to get a working copy)
W:\programming\tcsite-svn-test>hg branch
blizzard
W:\programming\tcsite-svn-test>hg branches
default 23:93642a8890ab <------
blizzard 0:be13a9580df0
毫不奇怪,当我在暴雪分支中确实需要拉式提交时,hgsubversion将拉式提交放在默认分支中。从文档中,无法重命名提交来自的分支
令人沮丧的是,我甚至想不出一个方法来做回购,只有hgsubversion回购被撤销,没有别的。无论发生什么,所有提交都绑定到该分支
关于如何从SVN回购中提取更改并将分支机构重命名为其他分支机构,是否有任何建议?您可以在这里选择一些选项 首先,内置扩展“convert”对于单向转换更为灵活,并且可以使用-branchmap选项轻松处理此问题。然而,hgsubversion提供了很好的同步回svn的功能,如果您使用HgConvert,则不提供这些功能 在这种情况下,是否可以切换命名方案?对于“从svn导入”的情况使用默认值,对于您的本地更改是否使用本地或类似的内容?然后,您可以在代码库中命名具有不同分支名称的独立项目。我过去也使用过类似的机制 编辑:刚刚在以下内容中捕捉到: hgsubversion.branch 将转换的变更集标记为属于 到该分支机构,或者,如果未指定, 违约请注意 标准配置不支持选项 布局克隆 标准布局克隆几乎肯定意味着以正常的svn方式克隆整个项目,包括/tags、/branchs和/trunk 如果我理解正确的话,你应该可以这样做 hg-config hgpubversion.branch=暴雪克隆 不确定是否每次从svn更新时都必须添加-config行,但进行一点实验就可以确认这一点
如果由于某种原因,这不起作用,hgsubversion.branchmap功能也可用,您在这里有几个选项 首先,内置扩展“convert”对于单向转换更为灵活,并且可以使用-branchmap选项轻松处理此问题。然而,hgsubversion提供了很好的同步回svn的功能,如果您使用HgConvert,则不提供这些功能 在这种情况下,是否可以切换命名方案?对于“从svn导入”的情况使用默认值,对于您的本地更改是否使用本地或类似的内容?然后,您可以在代码库中命名具有不同分支名称的独立项目。我过去也使用过类似的机制 编辑:刚刚在以下内容中捕捉到: hgsubversion.branch 将转换的变更集标记为属于 到该分支机构,或者,如果未指定, 违约请注意 标准配置不支持选项 布局克隆 标准布局克隆几乎肯定意味着以正常的svn方式克隆整个项目,包括/tags、/branchs和/trunk 如果我理解正确的话,你应该可以这样做 hg-config hgpubversion.branch=暴雪克隆 不确定是否每次从svn更新时都必须添加-config行,但进行一点实验就可以确认这一点 如果由于某种原因无法正常工作,还可以使用hgsubversion.branchmap功能