【问题标题】:Get svn info on a deleted file/folder获取已删除文件/文件夹的 svn 信息
【发布时间】:2017-06-23 13:02:26
【问题描述】:

我有一个 bash 脚本,它使用 SVN 历史记录来创建在部署脚本中使用的文件列表。今天我发现了一个小错误,但我想修复。但是,SVN 并没有帮助。

这是场景:

  1. commit 1 - 文件夹和文件
    • /trunk/folder/file1
    • /trunk/folder/file2
  2. commit 2 - 删除整个文件夹和所有文件
    • /主干/文件夹

当我构建文件列表时,我已经删除了已删除的文件,但在这种情况下,删除的文件实际上是一个文件夹。长话短说,我需要确定被删除的 svn 节点的类型,以便妥善处理。

SVN 提供了一个 info 命令可以告诉你这些信息:

svn info TARGET

但这似乎不适用于已删除的文件。在上面的示例中,如果我尝试在已删除的文件夹上运行信息,则会收到错误消息:

svn info trunk/folder

svn:警告:W155010:找不到节点“主干/文件夹”。

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版本。

【问题讨论】:

    标签: svn


    【解决方案1】:

    我不确定您的目标和任务到底是什么,以及为什么您必须手动构建文件列表 - Subversion 提供了svn list,您也可以使用--xml 选项运行它。如果您可以直接访问存储库,也可以尝试svnlook treesvnlook changed

    顺便说一句,更新您的客户端。 SVN 1.7.x 已经很老了;当前版本是 1.9.x,您应该计划升级。

    【讨论】:

    • 我确实可以直接访问 repo,但使用脚本的人却没有。所以svnlook出来。我会更深入地研究 svn list。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-21
    • 1970-01-01
    • 2015-01-29
    • 1970-01-01
    相关资源
    最近更新 更多