によって生成されたログを解析しようとしていますgit log --numstat
。形式になっています
commit 1234567890123456789012345678901234567890
Author: Joseph Shabadoo
Date: Sun Apr 21 14:34:36 2013 +0300
fix the thing that was broken
4 0 foo.py
13 7 bar.py
commit aaaaaaaaaabbbbbbbbbbccccccccccdddddddddd
Author: Donald Dont
Date: Fri Apr 19 21:15:00 2012 +0300
do some stuff
15 6 foo.py
... etc
私はそれをファイルに保存しており、解析を容易にするためにコミットに分割したいと考えています。を使用してre.split()
いますが、ジョブに適した正規表現が見つからないようです。私は
re.split('.*?\n\n.*?\n\n.*?\n\n', myfile.read())
動作しますが、最初のコミットと 2 番目のコミットの最初の 2 行もすべてまとめて取得しました (commit aaaaa...
およびAuthor: ...
)。行の後に 2 つの連続する改行がないため、これは特に混乱を招きAuthor:
ます。これを分割できる正規表現は何ですか?
編集:明らかに.
、デフォルトでは改行文字と一致しません。re は flag でコンパイルする必要がありますre.DOTALL
。