如何确定以目录为根的最新 SVN 修订号? [英] How do you determine the latest SVN revision number rooted in a directory?
问题描述
我想开始用最新的 SVN 修订号标记我部署的二进制文件.
I would like to start tagging my deployed binaries with the latest SVN revision number.
但是,因为 SVN 是基于文件的,而不是基于目录/项目的,所以我需要扫描所有目录和子目录的文件以确定最高修订号.
However, because SVN is file-based and not directory/project-based, I need to scan through all the directory's and subdirectory's files in order to determine the highest revision number.
在根目录上使用 svn info
不起作用(它只报告该目录的版本,而不是子目录中的文件):
Using svn info
on the root doesn't work (it just reports the version of that directory, not files in subdirectories):
我想知道是否有使用 svn
命令来执行此操作的快捷方式.否则,任何人都可以建议一个简单的脚本来提高网络效率(如果它根本不影响远程服务器,我会更喜欢)?
I was wondering if there is a shortcut using the svn
command to do this. Otherwise, can anyone suggest a simple script that is network-efficient (I would prefer if it didn't hit the remote server at all)?
我也明白另一种方法是保留一个带有 svn:keywords
的版本文件.这很有效(我已经在其他项目中使用过),但我厌倦了确保文件是脏的和处理不可避免的合并冲突.
I also understand that one alternative approach is to keep a version file with the svn:keywords
. This works (I've used it on other projects), but I get tired of dealing with making sure the file is dirty and dealing with the inevitable merge conflicts.
回答我发现我的问题在于在根目录中调用 svn info
之前没有正确执行 svn up
:
Answer I see my problem lied with not doing a proper svn up
before calling svn info
in the root directory:
$ 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)
推荐答案
一种方式.看代码的时候,看看svn输出的最后一行:
One way. When you check out the code, look at the last line of svn output:
$ 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 修订号?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!