【问题标题】:Get the svn revision less than a given number?获得小于给定数字的 svn 修订版?
【发布时间】:2025-12-10 13:45:01
【问题描述】:

我只使用 Windows 操作系统。我需要一个命令来获取小于或等于给定版本号的最后一个版本。例如。最新转速 = 300。其他转速 = 290、289、280 等。 如果我搜索

我用谷歌搜索并没有找到答案。一种解决方案可能是使用svn log --limit 100 http://svn.repo1.com/trunk/app。希望要求的数量在最近的 100 次修订中,否则我将得不到任何结果。然后,解析 100 个结果中的每一个,仅提取修订号,同时丢弃所有演示文稿、cmets 等。然后,在 100 个数字的列表中查找所需的数字。但是,这是一种非常低效的方式。请建议一些快速简便的方法。

【问题讨论】:

  • 您可以尝试 TortoiseSVN 中的修订日志对话框,看看是否满足您的需要?您还可以使用 svn log 命令上的 --xml 开关输出到 xml,然后使用不同的程序对其进行解析或将其转换为电子表格并以这种方式进行搜索。

标签: svn revision-history


【解决方案1】:
svn log http://your_repo/subdirectory/file -r 285:0 -l 1

当从提交 185 倒数到第一个提交 (-r 285:0) 时,将输出影响 subdirectory/file 的第一个 (-l 1) 修订版的日志。

【讨论】:

  • 结果中是否也可以得到 285 ?我知道我只要求 280。但是,我也想学习如何在结果中获得 285。非常感谢!
  • 如果 285 更改了您显示日志的文件,那么它应该是唯一显示的修订版。如果没有,它将永远不会显示在该日志中。如果你也想拥有 285,我认为最好发出第二个命令。
  • 抱歉我的愚蠢问题。我是源代码控制/svn 的初学者。我无法理解你所说的。请告诉我为什么我的请求会给出错误的答案。谢谢
  • Subversion 中的修订表示整个存储库的状态。如果您在特定文件或目录上运行git log,则仅显示更改的修订版。这就是为什么你的修订列表有差距。如果没有显示修订版 285,这意味着虽然存储库中的 一些 文件在该修订版中发生了更改,但您确实显示了日志的文件没有。参见例如here了解详情。
最近更新 更多