Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mercurial 使用新的默认分支名称将svn存储库拉入/克隆到hg中?_Mercurial_Hgsubversion - Fatal编程技术网

Mercurial 使用新的默认分支名称将svn存储库拉入/克隆到hg中?

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

我正在分叉一个项目的SVN回购协议,需要整合到我的Mercurial回购协议中。为了简单起见,我有一个本地hgsubversion repo和一个本地hg repo。但是,mercurial和hgsubversion回购都使用默认名称作为其默认分支名称。我的目标是将原始代码和更新放在一个分支上,将我的代码放在默认分支上

然而,我还没有能够做到这一点

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功能