影響を受ける(パス)著者、日付、コメント、およびファイルを含むJSON形式のフォルダのGitHub履歴を出力しようとしています。私はすべてを成し遂げることができますが、次のコマンドでファイル:日付、名前コメント、およびファイルを含むJSONとしてのGitHub履歴
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/},]/}]/' >log.json
は、ファイル名が--name-のみlogコマンドで使用することができ取得するには、私は本当にとしてJSONでそれを得ることができません配列または "ファイル"。私は今の私のはここです:
git log --name-only --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/},]/}]/' >log.json
これが生成します。
{
"commit": "GUID"
"author": "My name <[email protected]",
"date": "Mon May 29 15:42:58 2017 +0300",
"message": "commit comment"
},
/folder/subfolder/file.extention
/folder/file.extention
を私がコミットでJSON配列として指定されたファイルをしたいものの:
{
"commit": "GUID"
"author": "My name <[email protected]",
"date": "Mon May 29 15:42:58 2017 +0300",
"message": "commit comment"
"files": [
"/folder/subfolder/file.extention"
"/folder/file.extention" ]
},
[この](https://stackoverflow.com/questions/38106607/git-log-json-with-changed-files)質問をご覧くださいと[要点](https://gist.github.com/dmegorov/b64dcea2eed31e02c916fc6ed9111f4f)私は答えを –
に改訂@DmitryEgorov。なんらかの理由でそれはうまくいかず、実行されるとファイル以外のすべてが表示されます。私はあなたがv3のpretty-format仕様で見つけられなかった%fを使用していることに気付きました。 – checho
さて、私たちはチャットセッションでそれをデバッグすることができましたが、おそらく私が答えで提案したアプローチを試してみることをお勧めします。 –