Как использовать команду (ы) git, чтобы показать коммиты, изменяющие любой из большого списка (> 10 КБ) файлов? - PullRequest
0 голосов
/ 26 октября 2019

У меня большой список (> 10 КБ) файлов, от которых зависит модуль проекта, у меня есть все пути, перечисленные в текстовом файле file-list.txt:

path/to/file1
path/to/file2
...

Как я могу получитьgit коммиты, которые изменяют любой из этих файлов?

Ответы [ 2 ]

0 голосов
/ 26 октября 2019

Вот стартовый набор:

git log --all --reflog --pretty=format:%H --name-status \
| awk -F$'\t' '
        ARGIND==1 { files[$0]=1; next }   /* load up the list of files first */
        NF==1     { commit=$1; next }     /* single-field line is commit id */
        $2 in files && commit!=printed { print printed=commit }
    '  file-list.txt -    

передайте результаты, например, через git log --stdin --no-walk --name-status --oneline, чтобы аннотировать их для проверки.

0 голосов
/ 26 октября 2019

xargs файл манифеста в git log

Пример:

$ fd -t f | sed 5q | xargs git log --oneline --stat
4a7701e improve func
 asm/args_libc.asm | 32 +++++++++++++++++---------------
 1 file changed, 17 insertions(+), 15 deletions(-)
79c2e94 byte convention
 arduino/stepper_motor.ino | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
a486363 stepper motor
 arduino/stepper_motor.ino | 39 ++++++++++++++++++++++++++++-----------
 1 file changed, 28 insertions(+), 11 deletions(-)
f5c4746 stepper motor finished
 arduino/stepper_motor.ino | 38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)
659bb6e arg table
 asm/args_libc.asm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)
5a70e9b effective addressing
 asm/args.asm | 34 ++++++++++++++++++++++++++--------
 1 file changed, 26 insertions(+), 8 deletions(-)
4a64f50 asm print argc
 asm/args.asm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)
ee67898 IN temp OUT led
 arduino/temp_led.ino | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)
cfe4618 print ascii table
 asm/ascii/Makefile | 11 +++++++++++
 1 file changed, 11 insertions(+)

, если есть коммиты в коммитах, просто сортируйте / uniq его

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