使用awk svn log获取特定用户提交的文件列表

时间:2012-12-28 14:58:55

标签: svn awk terminal

我发现这个漂亮的小脚本我已经制作成一个bash脚本。

#!/bin/bash
svn log -v -r{$1}:HEAD | awk '/^r[0-9]+ / {user=$3} /./{if (user=="'$2'") {print}}' | grep -E "^   M|^   G|^   A|^   D|^   C|^   U" | awk '{print $2}' | sort | uniq

$1 = 2012-10-01 //for example
$2 = George //for example

这个脚本似乎可以工作,但它只能打印出来自trunk的提交。 当我从终端svn登录时,我看到所有提交而不管分支。

到目前为止,我已将问题缩小到awk。 我们在分支文件夹名称中使用空格。不确定这可能是个问题。

awk区域中的/./是问题吗?

到目前为止,我从svn信息中获取了url并将其放入变量中。

theURL=$(svn info | grep -E "^(URL: )http(s)?:")
theURL=${theURL:5}

也许我可以告诉awk只打印出符合我网址方案一部分的行?

谢谢,

1 个答案:

答案 0 :(得分:1)

没有路径参数的

svn log使用默认“。”路径(必须是并且可以只是工作副本,在您的情况下 - 链接到回购的主干)

svn log URL同时可以使用的任何部分用于远程存储库,与(某些)WC的当前设置无关。

只需添加并使用3-rd参数

相关问题