我大部分时间都在做基本的一些家务管理变更,我们其中一个项目的代码库(用log4j代替所有的System.out.println()
调用)。如何查找CVS版本之间更改的行数?
我很好奇我用这组更改更新了多少行代码。
反正有cvs diff
或另一个命令得到一个准确的计数有多少行已经改变?
我已经试过
cvs diff -b -B -R
让所有的工作目录的变化(和递归子目录),但对于每一个文件改变了它还会打印出的文件/版本信息,这使得刚刚计数输出线无用。
任何想法?
我大部分时间都在做基本的一些家务管理变更,我们其中一个项目的代码库(用log4j代替所有的System.out.println()
调用)。如何查找CVS版本之间更改的行数?
我很好奇我用这组更改更新了多少行代码。
反正有cvs diff
或另一个命令得到一个准确的计数有多少行已经改变?
我已经试过
cvs diff -b -B -R
让所有的工作目录的变化(和递归子目录),但对于每一个文件改变了它还会打印出的文件/版本信息,这使得刚刚计数输出线无用。
任何想法?
的滤除diff的输出多余的线条和再算上线。
例如,仅grep的开始的行<或>
cvs diff -b -B -R | egrep '^<|>' | wc -l
你可以简单地输出CVS diff到diffstat。
这很好,虽然它似乎对“jsp/blah.jsp”和“blah.jsp”等文件进行了重复计数。之前不知道diffstat,谢谢! – 2008-10-22 20:01:56
怎么样确认你已经改变了所有情况下的东西,如:
find . | egrep -v -e '(CVS|<other patterns you don't want>)' | \
xargs egrep -e 'System\.out\.println[(][)]' | wc -l
,应该给你零。
然后用'log4j'替换第二个egrep中的正则表达式应该使用wc -l返回已更改的行数。
HTH。
欢呼声,
罗布
的diffstat实用程序是用于从CVS,SVN或其他差别的输出得到一些简单的指标一个很好的工具。
这是我最终使用的,毕竟在你发布之前的几秒钟 - 谢谢 – 2008-10-22 20:02:30
使用这个修改后的行会计算两次对吗? – 2010-03-08 16:35:33