我想计算存储库中文件的最小/最大/平均年龄。对于svn,我将解析svn ls -R -v
的输出(或者它的xml版本的svn ls -R --xml
):
(dev) go|w:\srv\lib\dkaddress> svn ls -R -v
17128 bpwork Sep 30 13:09 ./
14691 bpwork 37 Jan 07 2015 .coveragerc
16918 bphome Sep 04 19:11 .idea/
14599 bphome 1058 Dec 19 2014 DEVELOP.rst
14599 bphome 224 Dec 19 2014 INSTALL.txt
14010 bpwork 0 Oct 16 2014 README.rst
我主要对日期和路径感兴趣。
有什么(简单的)方法可以从git获取这些信息吗?
发布于 2015-10-06 12:14:04
我不认为有。我能想到的最简单的方法就是这个管道:
git ls-files -z |
xargs -0 -I'{}' git --no-pager log -1 --format='%h %an %ad {}' -- '{}'
git ls-files -z
部分输出由\0分隔的文件,然后通过xargs进入git log
。输出显示文件的最后一次提交(-1
选项)。格式为%h表示短哈希,%an表示作者姓名,%ad表示作者日期,{}
部分为文件名替换。不确定是否需要--no-pager
,但如果没有它,我就不能很好地使用它,它通过寻呼机显示每一行。
不是最漂亮的。希望有人会给你一个更好的答案,但在紧要关头,这对于一个脚本来说已经足够了。
https://stackoverflow.com/questions/32968927
复制相似问题