使用awk to svn log获取特定用户提交的文件列表
我找到了这个很好的小脚本,我把它做成了一个bash脚本使用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 //
#!/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}}。我们在分支名称中使用空格,我认为这是造成问题的原因。