2016-06-29 62 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