svn查看log扩展

作者: 塘朗山小钻风 | 来源:发表于2021-02-04 15:15 被阅读0次

在项目工作中经常需要审核代码,如此则需要从众多的提交者中筛选出指定的几个提交者,然后查看修改了哪些代码。但是svn log工具的搜索功能并没有提供(eric或neil的提交)的功能。倒是提供了(neil提交的并且log含有UI)的功能

--search ARG : use ARG as search pattern (glob syntax, case- and accent-insensitive, may require quotation marks to prevent shell expansion)

--search-and ARG : combine ARG with the previous search pattern

我自己利用shell扩展出一个svn功能。它本身是一个svn.sh文件。如下这种方式调用(两种方式的差异是管道符号|的转义)

./svn.sh log -r{2020-1-1}:{2020-1-3} --search neil\|eric

./svn.sh log -r{2020-1-1}:{2020-1-3} --search "neil|eric"

实现的诀窍是最大量使用原来的svn log参数。而在--search参数上做文章。如果是搜索一个提交者,用svn的--search就可以;如果搜索的提交者不止一位,则不使用--search功能而由awk工具完成筛选。源代码如下:


# 全部参数是$@

# 找到查找的字符串

search=`echo $@|grep -o '\-\-search \+\([^ ]*\)'|grep -o '[^ ]*$'`

#echo $search

# 拆分成数组

array=(${search//|/ })

if [ ${#array[@]} -gt 1 ]

then

# 参数不止一个。先不筛选log,然后在log中多次匹配

# search先擦除掉

param=`echo $@|sed 's/--search \+[^ \t]*//g'`

# 再由awk来筛选

`echo "svn $param"` | awk 'BEGIN{valid=0;split("'"$search"'",names,"|");}{if(match($1,"^r[0-9]+")!=0){one=0;for(i in names){if(match($0,names[i])!=0){one=1;}}valid=one} if(valid!=0)print $0}'

else

# 只有一个search参数就用原来的方式

`echo 'svn '`$@

fi


执行的效果如图

能够筛选两位开发者的提交记录

ps:如果使用的是cygwin需要先执行

export LANG=zh_CN.GBK

设置好编码,否则windows是乱码

相关文章

  • svn查看log扩展

    在项目工作中经常需要审核代码,如此则需要从众多的提交者中筛选出指定的几个提交者,然后查看修改了哪些代码。但是svn...

  • SVN命令

    回版本步骤: 先更新 svn up 看日志 svn log -l 6 查看两个版本的区别,svn diff -高版...

  • CornerStone不显示操作日志

    对SVN服务器操作之后查看Log显示"Could not contact repository to read t...

  • svn回退版本

    svn回退版本步骤 右键TortoiseSVN--> show log --> 打开svn的log Message...

  • Android studio 中怎么查看SVN log

    双击选项可以查看每次版本修改的文件

  • Cornerstone无法查看log解决办法

    如果你使用Cornerstone管理svn,第一次查看log的时候悲催的选择了Download而不是Never,那...

  • SVN操作

    这里记录一下一些平时用到的svn指令操作 1. svn log 展示修正的log信息或者路径 2. svn dif...

  • svn log 无法查看历史,报错Item is not rea

    配置目录权限时如: [/]@groupA=rwzhangsan=rwlisi=rwwangwu=rw 结果组用户分...

  • Mac下Cornerstone无法查看SVN的log

    参考 使用Cornerstone的时候,查看log的时候,可能会遇到这样的情况: *如下提示,点击随便哪个按钮之后...

  • 日报(20170705)-clover

    今天重点任务是研究SVN上开发修改代码的log及相关备注。 下午两个小时多,分析了5条log。 通过SVN,定位具...

网友评论

    本文标题:svn查看log扩展

    本文链接:https://www.haomeiwen.com/subject/qaybtltx.html