我正在尝试使用 SlikSVN cmd 行查询 SVN 日志以获取功能分支的 XML 输出,以包含 2 个日期之间的所有修订。我收到上面的错误“svn:E160013:找不到文件:修订版21602,路径'XXX'”。
当我浏览到路径中的位置时,它不存在并且如果我搜索SVN登录tortoise我找不到修订版21602。这是查询:
svn log --xml PATH -v -r {2012-09-25}:{2013-02-22} > XXX.xml
我厌倦了运行以下命令:
svn log --xml PATH -v -r 21603:{2013-02-22} > XXX.xml
并且返回相同的错误,除了修订版“21603”之外,即使我可以看到它存在于乌龟日志中。
我之前曾对许多功能分支运行过完全相同的查询,但从未遇到过此问题。我尝试在树干上运行它,这是作为测试而被切断的,我得到了相同类型的错误。 另一方面,修订引用了分支根目录中从未存在的文件夹和文件(上述错误消息中的 XXX)。对此的一些帮助将非常感激,因为我已经用尽了所有可用资源来找出这里发生的情况。
最佳答案
首先,如果您想查询当前工作副本中不再存在的文件,您需要提供 SVN 存储库位置的完整路径,例如http://svn/repo/trunk/src/myfile
而不是src/myfile
.
第二,如果被删除了,仅仅使用 -r <rev>
是不会显示出来的。 - 您需要提供 Hook 修订版,即标识 Subversion 应在哪个时间点(即哪个修订版)查找指定路径的修订版。然后,它将使用在指定路径的该修订版中找到的对象来执行所有请求的操作。
最后,如果操作修订范围(即您使用 -r
选项提供的内容)包含指定路径不再存在的修订,Subversion 将再次提示找不到该文件。
有关 Hook 修订的更多信息,请查看此链接:http://svnbook.red-bean.com/en/1.6/svn.advanced.pegrevs.html
对于您的查询,请尝试
svn log --xml FULLPATH@REV -v -r {2012-09-25}:LASTREV > XXX.xml
哪里FULLPATH
是完整的存储库路径,REV
是路径存在的任何修订版,并且 LASTREV
是文件/文件夹在存储库中存在的最后一个版本。
关于svn: E160013: 文件未找到:修订版 21602,路径 'XXX' SVN 日志查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15030298/