【发布时间】:2012-01-17 16:50:06
【问题描述】:
使用 TortoiseHg 和 hgsubversion 扩展(命令行也可以)。
克隆一个 SVN URL hg clone http://svn.example.org/hello-world,具有以下结构。
- ..
- 分支机构/
- 标签/
- 主干/
生成仅包含来自 /trunk 的文件的本地副本。
- ..
- .hg
- .hgtags
- 文件1
- 文件2
- 文件3
执行hg push 可以正常工作并更改/trunk 中的文件。但我需要在 /tags 中创建新的标签文件夹并在那里推送更改。
将标签添加到 Hg 中的修订并推送更改会导致“抱歉,找不到合并修订的 svn 父级。”
有什么方法可以在克隆过程中保留 SVN 文件夹结构?
编辑:键入hg tags 确实会在命令行显示结构,但我需要推送到远程/tags 目录,默认推送会进入/trunk,不知道如何更改它的工作方式。
【问题讨论】:
-
当您使用 hgsubversion 克隆 SVN 存储库时,它会将您的 SVN 主干/分支/标签结构转换为 Mercurial 等效结构。您将能够使用“hg 分支”查看您的分支,使用“hg 标签”查看您的标签。如果是这种情况,那么您唯一剩下的问题就是“为什么我不能使用 hgsubversion 推送标签?”不幸的是,我不知道答案,因为我从未尝试过。
-
谢谢,当我输入 ``hg tags' 时你是正确的/trunk 默认情况下似乎正在执行。
-
如果你在 Mercurial 中新建一个标签然后推送它,它不会在标签文件夹中创建一个新副本吗?那我猜这是hgsubversion的限制。我过去使用过 hgsubversion,它一开始就不是一种非常理想的设置。
-
正确,创建新标签不会将任何内容推入/tags,只会推入/trunk,我会尝试显式推入/tags,看看是否有效。
-
hgsubversion 目前明确不支持。欢迎使用补丁,但预计会很棘手。
标签: svn mercurial tortoisehg hgsubversion