Mercurial:将克隆转换为分支

Aus*_*yde 3 mercurial

我正在尝试清理一些克隆的存储库,基本上将克隆转换为命名分支.

最简单的方法是什么?

tgh*_*ghw 5

您可以将它们命名为分支的唯一方法是重写其历史记录,因为分支的名称是历史记录的一部分.但是,如果你能够在没有过去分支的情况下生存(未来很好),那么你可以将所有的回购拉入主要的(没有合并!),然后在你的分支进入后标记你的分支.

例如,如果您有MainRepo,Feature1Repo和Feature2Repo,则可以执行以下操作:

$ cd MainRepo
$ hg pull ../Feature1Repo
$ hg pull ../Feature2Repo
Run Code Online (Sandbox Code Playgroud)

现在,如果你看看像TortoiseHg这样的DAG,你会看到几个不同的头.从这里,你只是hg uphg branch:

$ hg up feature1headrev
$ hg branch Feature1
$ hg up feature2headrev
$ hg branch Feature2
Run Code Online (Sandbox Code Playgroud)

从这里开始,你将拥有你的命名分支.

注意:如果hg pull抱怨存储库不相关,则可以执行hg pull -f,这将在存储库中创建多个尾部.这通常不是真正的分支,但它有时是有用的.