3

我一直在愉快地使用 HgSubversion,今天我忘记将它添加--svn到 rebase 命令中。现在我得到了可怕的未知修订版''

有没有办法从中恢复?

4

2 回答 2

5

您应该能够执行“hg svn rebuildmeta”,然后执行“hg pull”并让它修复。

注意:这是未经测试的,所以我会处理本地 repo 的副本,以防它搞砸了。我对代码的记忆表明这将起作用。

于 2012-01-19T14:33:02.750 回答
1

我会尝试使用transplant扩展来解决这个问题:

  1. 将 SVN 存储库重新克隆到新的本地存储库。
  2. 检查原始存储库的历史记录并注意哪些更改需要移动
  3. 将旧存储库中的更改移植到新存储库

例如 - 修复一个hgsubversion名为project

> hg clone svn+http://svnrepo/project project-tmp

然后检查原始项目文件夹的日志并从文件夹中执行以下操作project-tmp

> hg transplant -s ../project 1234

1234您要移动的修订版在哪里。重复此操作,直到复制所有修订。

完成后,您应该能够开始使用新文件夹代替旧文件夹,方法是从 SVN 重新拉取,重新设置更改并将它们推回(不要忘记 --svn)

于 2012-01-17T10:58:42.963 回答