【发布时间】:2015-01-05 21:39:23
【问题描述】:
我有一个最初在 SVN 中的项目。我需要分支,但我不小心创建了另一个 SVN 中继。然后,后来,SVN 项目被迁移到 Mercurial。
我想找到一种方法来撤消我之前犯的错误,并且只有一个主干/存储库和一个分支,维护两者的历史。这可以通过 SVN 或 Mercurial 实现吗?
目前,我有:
回购 A
回购 B
我想要:
回购 A
- B分店
【问题讨论】:
我有一个最初在 SVN 中的项目。我需要分支,但我不小心创建了另一个 SVN 中继。然后,后来,SVN 项目被迁移到 Mercurial。
我想找到一种方法来撤消我之前犯的错误,并且只有一个主干/存储库和一个分支,维护两者的历史。这可以通过 SVN 或 Mercurial 实现吗?
目前,我有:
回购 A
回购 B
我想要:
回购 A
- B分店
【问题讨论】:
您可以在 svn 到 mercurial 转换期间省略分支,请参见此处的示例:
http://help.fogcreek.com/8200/selectively-converting-svn-branches
【讨论】:
或者,如果您已经转换了存储库,则可以使用历史修改操作来实现目标:
hg branch $BRANCHNAME
hg rebase -rXXX -d$BRANCHNAME 其中 XXX 表示要重新定位到新分支的主干的第一个修订版。为了安全起见,请仅在当前存储库的(新)克隆上尝试历史操作。
【讨论】: