2016-06-29 64 views
0

我需要获取格式为JSON的git log命令的输出。我喜欢的方式在Git log output to XML, JSON, or YAML?建议使用自定义的git的日志相当格式化和Perl处理的顶部使用命令here光层:更改文件的Git日志JSON *

git log \ 
--pretty=format:'{%n "commit": "%H",%n "author": "%an <%ae>",%n "date": "%ad",%n "message": "%f"%n},' \ 
[email protected] | \ 
perl -pe 'BEGIN{print "["}; END{print "]\n"}' | \ 
perl -pe 's/},]/}]/' 

此作品梦幻般的得到那些某些领域,但我也需要使用JSON输出中包含的--name-status标志返回的文件列表。

我已经尝试了各种方法,但我在如何解决这个问题上有所损失。我的直觉告诉我我失去了一些明显的东西。有任何想法吗?

谢谢!

回答

1

我添加--name-only参数支持原来的诺亚苏斯曼的脚本,这样你就可以得到使用此命令修改过的文件列表:

git log2json --name-only 

修改后的剧本是here

0

我对Perl知之甚少。这是我获取提交文件的方式。希望能帮助到你。

git log -1 <sha1> --pretty=%h --name-only | tail -n +3