对于脚本,我需要获取版本化文件夹(而不是整个仓库)中最新更改的修订版号,以确定当前版本是否已经过测试。我用:
svn info | grep "Last Changed Rev"
返回类似这样的内容
Last Changed Rev: 3303
我可以轻松地将此结果与保存的值进行比较。
我想对包含外部的文件夹执行此操作。我的想法是使用上面的svn info -R
,grep
,sort
输出并检查输出的最后一行。但是,svn info -R
仅包含当前仓库中的文件和文件夹,不包括外部!有没有办法让它包括外部?或者我自己(使用脚本)浏览文件夹层次结构?
答案 0 :(得分:0)
好的,我找到了解决方案。 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}