Следующие команды выводят следующие строки текста на консоли
git log --pretty=format:"%h;%ai;%s" --shortstat
ed6e0ab;2014-01-07 16:32:39 +0530;Foo
3 files changed, 14 insertions(+), 13 deletions(-)
cdfbb10;2014-01-07 14:59:48 +0530;Bar
1 file changed, 21 insertions(+)
5fde3e1;2014-01-06 17:26:40 +0530;Merge Baz
772b277;2014-01-06 17:09:42 +0530;Qux
7 files changed, 72 insertions(+), 7 deletions(-)
Я заинтересован в том, чтобы над форматом отображаться следующим образом
ed6e0ab;2014-01-07 16:32:39 +0530;Foo;3;14;13
cdfbb10;2014-01-07 14:59:48 +0530;Bar;1;21;0
5fde3e1;2014-01-06 17:26:40 +0530;Merge Baz;0;0;0
772b277;2014-01-06 17:09:42 +0530;Qux;7;72;7
Это будет потребляться в некотором отчете, который может анализировать значения, разделенные точкой с запятой.
Дело в тексте "\n 3 files changed, 14 insertions(+), 13 deletions(-)"
(новая строка включена) преобразуется в 3;14;13
(без новой строки)
Одним из возможных угловых случаев является текст типа "5fde3e1;2014-01-06 17:26:40 +0530;Merge Baz"
, который не имеет такой строки. В этом случае я хочу ;0;0;0
В целом цель состоит в том, чтобы анализировать статистику изменений файлов в течение определенного периода времени. Я прочитал документацию журнала git, но не смог найти какой-либо формат, который поможет мне отобразить в этом формате. Лучшее, что я придумал, было упомянутой выше командой.
Таким образом, любая команда или оболочка script, которая может генерировать ожидаемый формат, будет очень полезной.
Спасибо!