Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SVN";“缺少修订”;当移动到Mercurial时_Svn_Mercurial - Fatal编程技术网

SVN";“缺少修订”;当移动到Mercurial时

SVN";“缺少修订”;当移动到Mercurial时,svn,mercurial,Svn,Mercurial,我们正试图从Subversion转向Mercurial,我们遇到了一个障碍。“svnadmin verify”产生以下错误: svnadmin:无此类修订21228 查看服务器,21228的“revs”目录中没有任何文件。其他一切都完好无损,当前的头部工作正常(我们现在是63000版左右) 我们并不真正关心这个版本,但我们不想在转换时丢失1-21227的历史记录。有人知道有什么方法可以强迫SVN忽略这个错误或者以某种方式恢复丢失的文件吗?我在我的一次SVN->hg转换中也经历了类似的过程。如果您

我们正试图从Subversion转向Mercurial,我们遇到了一个障碍。“svnadmin verify”产生以下错误:

svnadmin:无此类修订21228

查看服务器,21228的“revs”目录中没有任何文件。其他一切都完好无损,当前的头部工作正常(我们现在是63000版左右)


我们并不真正关心这个版本,但我们不想在转换时丢失1-21227的历史记录。有人知道有什么方法可以强迫SVN忽略这个错误或者以某种方式恢复丢失的文件吗?

我在我的一次SVN->hg转换中也经历了类似的过程。如果您不担心修订版中的内容,您可以分三步进行转换:

1) 使用
svnadmin Dump
转储SVN存储库两次,跳过错误版本

svnadmin dump -r1:21227 /var/svn/repo/foo > foo-svn-1.dump

svnadmin dump -r21229:X /var/svn/repo/foo > foo-svn-2.dump
并将其重新加载到新的临时SVN回购协议中

svnadmin create ./foo-svn-1
svnadmin load ./foo-svn-1 ./foo-svn-1.dump

svnadmin create ./foo-svn-2
svnadmin load ./foo-svn-2 ./foo-svn-2.dump
2) 使用
hgconvert

hg convert ./foo-svn-1 foo-hg-1

hg convert ./foo-svn-2 foo-hg-2
并将第二个存储库中的所有变更集拉入第一个存储库(使用
hgpull-f
强制导入不相关的变更集)

然后,您将有一个repo,在修订历史记录中,您拆分了svn repo


3) 将两棵树与
hg-rebase
扩展拼接在一起,如

中所述!我必须做几件事:(1)我不能在第二个“svnadmin转储”中使用“-incremental”。(2) 我不得不在“hg pull”中使用“-force”选项。
cd ./foo-hg-1
hg pull -f ../foo-hg-2