对于脚本,我需要获得版本化文件夹(不是整个回购)中最新更改的修订号,以决定当前版本是否已经过测试。我用:
svn info | grep "Last Changed Rev"
它会返回如下内容
Last Changed Rev: 3303
我可以很容易地将这个结果与保存的值进行比较。
我想对包含外部文件的文件夹执行此操作。我的想法是像上面那样使用svn info -R
,grep
,sort
输出并检查输出的最后一行。但是,svn info -R
只包括来自当前回购的文件和文件夹,而不包括外部文件!有没有办法让它包括外部因素?或者让我自己浏览文件夹层次结构(使用脚本)?
发布于 2014-02-19 02:38:31
好吧,我想出了一个解决办法。svn status
也可以处理外部环境。
$ svn status -v
7753 5689 user1 D:\checkout\file1.txt
? D:\checkout\unversioned_file1.txt
? D:\checkout\unversioned_file2.txt
7753 6693 user2 D:\checkout\file2.txt
M 7753 5683 user2 D:\checkout\file3.txt
7753 5683 user1 D:\checkout\file4.txt
这个awk
脚本可以得到第3列的最大值,这是该文件的最后一次更改。
{
revnum = ($1 ~ /[0-9]+/) ? $2 : $3 # $1 is number => get $2, else $3
if(revnum ~ /[0-9]+/) # a number? (ignore text-only lines)
{if(revnum>max) max=revnum} # look for maximum
}
END{print max}
https://stackoverflow.com/questions/21874725
复制相似问题