svn - 如何确定以目录为根的最新SVN版本号?

标签 svn build-automation

我想开始用最新的SVN版本号标记已部署的二进制文件。

但是,由于SVN是基于文件的,而不是基于目录/项目的,因此我需要浏览所有目录和子目录的文件,以确定最高修订版本。

在根目录上使用svn info不起作用(它仅报告该目录的版本,而不报告子目录中的文件):

我想知道是否有使用svn命令执行此操作的快捷方式。否则,有人可以建议一个简单的网络高效脚本(如果它根本不影响远程服务器的话,我会更喜欢)?

我也了解一种替代方法是使用svn:keywords保留版本文件。这行得通(我已经在其他项目上使用过它),但是我厌倦了确保文件不脏以及不可避免的合并冲突。

答案我看到我的问题在于在根目录中调用svn up之前没有正确执行svn info:

$ svn info
Path: .
...
Last Changed Author: fak
Last Changed Rev: 713
Last Changed Date: 2008-08-29 00:40:53 +0300 (Fri, 29 Aug 2008)

$ svn up
At revision 721.

$ svn info
Path: .
...
Revision: 721
Last Changed Author: reuben
Last Changed Rev: 721
Last Changed Date: 2008-08-31 22:55:22 +0300 (Sun, 31 Aug 2008)

最佳答案

单程。当您 checkout 代码时,请看svn输出的最后一行:

$ svn up
...stuff...
Updated to revision 66593.

更直接的方法:
$ svn info
Path: .
URL: https://svn.example.com/svn/myproject/trunk
Repository Root: https://svn.example.com/svn/
Repository UUID: d2a7a951-c712-0410-832a-9abccabd3052
Revision: 66593
Node Kind: directory
Schedule: normal
Last Changed Author: bnguyen
Last Changed Rev: 66591
Last Changed Date: 2008-09-11 18:25:27 +1000 (Thu, 11 Sep 2008)

关于svn - 如何确定以目录为根的最新SVN版本号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56227/

相关文章:

svn - svn :externals 的最佳实践使用

svn - 如何使用来自 `read` 的变量作为另一个程序的参数?

svn - 选择性导出 SVN 目录

java - Java/Java EE 的构建和集成环境

javascript - 即时压缩 css 和 js

Jenkins "run only if build succeeds"仍然运行不成功的构建

svn - 与普通的 svn 客户端相比,使用 git-svn 有什么优势?

svn - 比较 TortoiseSVN 中两个分支之间的文件

java - 如何自动化 IntelliJ IDEA 11 项目的 Java 构建过程?

VB6 与 MSBuild 的集成