【发布时间】:2010-04-21 16:27:08
【问题描述】:
在将我的项目FakeItEasy 的 VCS 从 SVN 更改为 Google Code 上的 Mercurial 时,我有点太急切了(我就是那样好笑)。我所做的只是从 SVN 中检查最新版本,然后将该检查提交为新 Mercurial 存储库的第一个修订版。这显然具有丢失所有历史的效果。
后来,当我对 Mercurial 有了更好的习惯时,我意识到有一个“转换扩展”之类的东西,它允许您将 SVN 存储库转换为 Mercurial 存储库。现在我要做的是转换旧的 SVN 存储库,然后将当前存在的 Mercurial 存储库中的所有更改集导入到这个转换后的存储库中除了第一次提交到 Mercurial。
我已将 SVN 存储库转换为本地 Mercurial 存储库,但现在我遇到了困难。我想我可以使用转换扩展将当前的 Mercurial 存储库带入转换后的存储库,并使用拼接图删除第一个提交,但我似乎无法让它工作。
我还尝试使用不使用拼接映射的转换来将当前 Mercurial 存储库中的所有更改集获取到转换后的更改集,并将当前中的第二个版本重新设置为旧 SVN 存储库的最后一次提交,但我可以也不能让它工作。
为了更清楚地说明这一点,假设我有这两个存储库:
A: revA1-revA2
B: revB1-revB2-revB3 (Where revB1 is actually a copy of revA2)
现在我想将这两个组合到包含以下内容的新存储库中:
C: revA1-revA2-revB2-revB3
【问题讨论】:
标签: svn mercurial mercurial-convert