我有一个bash脚本,它使用SVN历史记录来创建在部署脚本中使用的文件列表。今天我发现了一个很小的错误,但我想解决。但是,SVN没有帮助。
以下是该方案:
当我构建文件列表时,我已经删除了已删除的文件,但在这种情况下,删除的文件实际上是一个文件夹。简而言之,我需要确定已删除的svn节点的类型,以便我能够适当地处理它。
SVN提供了一个info命令,可以告诉您这些信息:
svn info TARGET
但这似乎不适用于已删除的文件。在上面的示例中,如果我尝试在已删除的文件夹上运行信息,则会出现错误:
svn info trunk/folder
svn:警告:W155010:找不到节点“trunk / folder”。
svn:E200009:无法显示所有目标的信息,因为有些 目标不存在
如果我在删除时从提交中传递了修订号,我会收到同样的错误:
svn info -r2 trunk/folder
如果我尝试任何多种组合,我会得到同样的错误:
svn info -r1 trunk/folder
svn info -r2 trunk/folder@2
svn info -r1 trunk/folder@2
svn info -r2 trunk/folder@1
是否有关于已删除文件夹的信息?
供参考: svn,版本1.7.14(r1542130)编译于2015年11月20日,19:25:09
编辑:这是该问题的简化说明。我正在使用7000个提交的活动仓库,任何给定的问题都可以分布在多个非连续的修订版中。我无法升级svn版本。
答案 0 :(得分:1)
我不确定您的目标和任务究竟是什么,以及为什么必须手动构建文件列表 - Subversion提供svn list
您也可以使用--xml
选项运行。如果您可以直接访问存储库,也可以尝试svnlook tree
或svnlook changed
。
BTW,更新您的客户。 SVN 1.7.x很老了;当前版本是1.9.x,您应该计划升级。