【发布时间】:2017-06-30 11:52:55
【问题描述】:
我已阅读此答案:How do I return to an older version of our code in Subversion? 并使用命令 svn merge -r 150:140 . 恢复到旧版本(我不需要提交恢复的更改,只需访问旧版本的文件)。在此之前,我在修订版 150 中有一个干净的 repo 版本(无需手动更改文件)。不幸的是,我收到了以下警告:
...
Skipped 'some/file.h'
Skipped 'some/file2.h'
...
Skipped 'some/file3.h'
Skipped 'some/file4.h'
...
Summary of conflicts:
Skipped paths: 4
这让我感到惊讶,因为我想做的只是回到某个旧版本的文件(而且我事先没有进行任何更改)。
是什么原因造成的?如何进入旧版本?
编辑:我已经检查过,显然这些文件在当前版本 (150) 中不存在(在磁盘上或在 SVN 中):
svn: warning: W155010: The node 'some/file.h' was not found.
但它们确实存在于修订版 140 中。所以在某个地方它们被删除了。但是为什么 SVN 不能直接恢复它们呢?
【问题讨论】:
-
有文件重命名吗? Subversion 不能很好地处理重命名。
-
不,这些文件刚刚被删除。
-
svn stat的输出是什么? -
不幸的是,我不再拥有这个存储库 - 不得不继续我的工作。所以恐怕我们不能继续这个话题了。但我不认为我现在可以关闭赏金。
-
这可能是您推迟的合并冲突引起的,然后您在本地删除了文件,现在它不会检出文件,不会更新它并跳过它。