我正在尝试转换 Mercurial 存储库,将所有文件移至子目录中,准备将两个存储库 merge 为一个。我遇到的问题是我的一些分支在转换过程中丢失了。
这就是我正在做的事情:
hg convert --filemap filemap.txt SourceRepo DestRepo
我的filemap.txt如下:
rename . subdir
此命令完成后,DestRepo 将丢失已创建但未对其进行任何更改的 SourceRepo 的所有分支。
之所以有与父级完全相同的分支,是因为原始存储库是 SVN 存储库,所以我们使用分支来标记版本。
有什么方法可以在不丢失分支的情况下完成此转换?
编辑:回答 Ry4n 的问题。
源存储库是一个 Mercurial 存储库,它是使用 hgsubversion 扩展从 SVN 存储库创建的。
这是分支的日志:
> hg log -b V3.02.55
changeset: 84:cf19dfac555c
branch: V3.02.55
parent: 71:aec56bf6ad9a
user: steve.kaye@868e8ea5-81c6-0a4c-a81c-ce52fb006997
date: Wed Aug 24 15:31:01 2011 +0000
summary: Branching V3.02.55
最佳答案
在 Mercurial 中,不存在没有任何更改的命名分支之类的东西。如果您的源存储库是 Mercurial 存储库,它要么没有这些命名分支,要么至少有一项更改。
您的来源是 Mercurial 吗?
如果是这样,您能否为您认为存在但没有更改的分支之一提供 hg log -b NAME
输出?
关于mercurial - Hg 转换失去分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7861473/