【发布时间】:2016-08-02 22:58:11
【问题描述】:
我正在尝试将这个标准的 git log --stat 输出:
commit 8a3f15205922e524d59524fe89c4304849dd6c8c
Author: FooManChu <fooMC@email.com>
Date: Fri Jul 15 20:33:17 2016 -0400
Some Commit Message Body
foodir/foofile1.foo | 8 +
foodir/foofile2.foo | 47 +
foodir/foofile3.foo | 7049 +++++++++++++++++++++++
foodir/foofile4.foo | 3563 ++++++++++++
foodir/foofile5.foo | 24 +
foodir/foofile6.foo | 0
foodir/foofile7.foo | 41 +
7 files changed, 10732 insertions(+)
commit c8bd4ca8d683c20f3cf206fdeb8dbec2f185536e
Author: FooGirlChu <fooGC@email.com>
Date: Fri Jul 15 00:11:24 2016 -0400
Initial commit
FOO | 674 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
README.md | 1 +
2 files changed, 675 insertions(+)
进入下图所示的xml文件结构。它不必像下面那样直接映射,但仍然足够接近,可以在需要时进行定制。
<?xml version="1.0" encoding="utf-8"?>
<stats>
<commit sha1='8a3f15205922e524d59524fe89c4304849dd6c8c'>
<author email='fooMC@email.com'>FooManChu</author>
<date>Fri Jul 15 20:33:17 2016 -0400</date>
<body>Some Commit Message Body</body>
<diff-stat>
<filepathname insertions='8'>foodir/foofile1.foo</filepathname>
<filepathname insertions='47'>foodir/foofile2.foo</filepathname>
<filepathname insertions='7049'>foodir/foofile3.foo</filepathname>
<filepathname insertions='3563'>foodir/foofile4.foo</filepathname>
<filepathname insertions='24'>foodir/foofile5.foo</filepathname>
<filepathname insertions='0'>foodir/foofile6.foo</filepathname>
<filepathname insertions='41'>foodir/foofile7.foo</filepathname>
</diff-stat>
<summary changed='7' insertions='10732'/>
</commit>
<commit sha1='c8bd4ca8d683c20f3cf206fdeb8dbec2f185536e'>
<author email='fooGC@email.com'>FooGirlChu</author>
<date>Fri Jul 15 00:11:24 2016 -0400</date>
<body>Initial commit</body>
<diff-stat>
<filepathname insertions='674'>FOO</filepathname>
<filepathname insertions='1'>README.md</filepathname>
</diff-stat>
<summary changed='2' insertions='675'/>
</commit>
</stats>
我查看了 Parsing Git Log Output 和 Understand Git Log Stat Output,但无法复制 --stat 格式。
因此我的问题是这可以在 git 中完成吗?还是我应该尝试编写一个解析程序来代替 --stat 作为输入并输出我的 xml 文件?
【问题讨论】:
-
您可以使用 --numstat 标志而不是 --stat 这样您就不必计算优点和缺点。
-
我会试试那个 JSON 格式。至少它在正确的方向上更近了一步。