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

使用awk to svn log获取特定用户提交的文件列表,svn,awk,terminal,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 //

我找到了这个很好的小脚本,我把它做成了一个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
这个脚本似乎可以工作,但它只是从主干打印提交。 当我从终端登录svn时,我看到所有提交,而不管分支如何

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

awk区域的//是问题所在吗

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

theURL=$(svn info | grep -E "^(URL: )http(s)?:")
theURL=${theURL:5}
也许我可以告诉awk只打印一行与我的url方案的一部分匹配的内容


谢谢,

svn log
无路径参数使用默认的“.”路径(在您的情况下,该路径必须是且只能是工作副本-链接到repo的主干)

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


只需添加并使用第三个参数

svn log
而不使用路径参数,即可使用默认的“.”路径(在您的情况下,该路径必须是且只能是工作副本-链接到repo的主干)

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


只需添加并使用第三个参数

实际上,svn log为我提供了分支和主干的一切。到目前为止,我已将其缩小为awk,awk'/^r[0-9]+/{user=$3}//{if(user==“$2'”{print}}。我们在分支名称中使用空格,我认为这是造成问题的原因。实际上,svn log为我提供了分支和主干的所有信息。到目前为止,我已将其缩小为awk,awk'/^r[0-9]+/{user=$3}/{if(user==“$2'”{print}}。我们在分支名称中使用空格,我认为这是造成问题的原因。