Как преобразовать git log -name-only в указанный c формат? - PullRequest
0 голосов
/ 23 февраля 2020

Я хотел бы преобразовать git log --name-only в указанном формате c.

Исходный вывод git log --name-only:

commit 565ad47821a7e3e6c95304143530e5e355b32e72
Author: Yu-Cheng Ling <ycling@google.com>
Date:   Wed Dec 18 23:15:49 2019 -0800

    Override experimental_new_converter is not None.

    PiperOrigin-RevId: 286335164
    Change-Id: I66793be1e5277425f6da6dd519b256e18d61d071

tensorflow/lite/python/tflite_convert.py
tensorflow/lite/python/tflite_convert_test.py

...more commits

Требуемое преобразование должно выглядеть следующим образом:

Yu-Cheng Ling,tensorflow/lite/python/tflite_convert.py

Yu-Cheng Ling,tensorflow/lite/python/tflite_convert_test.py

...more

В настоящее время я предпринял несколько неудачных попыток в java языке программирования. Может быть, java не является правильным языком программирования для этой проблемы.

Любые советы или подсказки? Или, скорее, как бы вы решили проблему? Другой запрос git log --name-only --pretty=format:%an; дает близкий результат, но не полностью правильный.

Может ли кто-нибудь помочь мне?

Спасибо

Дополнительно: git log --name- только --pretty = формат:% an;

Вывод выглядит:

Yu-Cheng Ling;
tensorflow/lite/python/tflite_convert.py
tensorflow/lite/python/tflite_convert_test.py

A. Unique TensorFlower;
tensorflow/go/op/wrappers.go

TensorFlower Gardener;
Yunxing Dai;
tensorflow/compiler/xla/service/dynamic_dimension_inference.cc
tensorflow/compiler/xla/service/dynamic_dimension_inference.h
... more```



I still need to remove the line break and convert the output to:


-----------------------------------------------------------------
Yu-Cheng Ling,tensorflow/lite/python/tflite_convert.py

Yu-Cheng Ling,tensorflow/lite/python/tflite_convert_test.py

...more

-----------------------------------------------------------------


1 Ответ

0 голосов
/ 23 февраля 2020

Это то, для чего awk.

git log --name-only --pretty=format:%an \
| awk ' /^$/ { del name; next }
        !name{ name = $0; next }
             { print name","$0 }
'

или

git log --name-only --pretty=format:%an \
| awk '{ for (n=1; n++<NF; ) print $1","$n }' RS= FS=$'\n'

с любой дополнительной печатью новой строки, которую вы хотите добавить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...