GitPython перечисляет все файлы, затронутые определенной фиксацией

Я использую этот цикл for для перебора всех коммитов:

repo = Repo("C:/Users/shiro/Desktop/lucene-solr/")
for commit in list(repo.iter_commits()):
    print commit.files_list  # how to do that ?

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


person dimitris93    schedule 26.09.2016    source источник


Ответы (2)


Попытайся

for commit in list(repo.iter_commits()):
    commit.stats.files
person Григорий Бернгардт    schedule 12.11.2016

Я решил эту проблему для SCM Workbench. Важный файл:

https://github.com/barry-scott/scm-workbench/blob/master/Source/Git/wb_git_project.py

Посмотрите на cmdCommitLogForFile() и его помощник __addCommitChangeInformation().

Хитрость заключается в том, чтобы различать объекты дерева.

person Barry Scott    schedule 30.09.2016
comment
StackOverflow настоятельно не рекомендует людям размещать ответы на связанных страницах. Связанные страницы часто перемещаются или удаляются, после чего ответ исчезает. - person Craig S. Anderson; 27.04.2017
comment
Не могли бы вы обновить свой ответ. Я ищу то же самое и не хочу искать этот большой файл, когда вы уже нашли там решение. Я хочу получить все файлы, которые в настоящее время зафиксированы, а не все фиксируются с момента запуска репо. - person muuvmuuv; 03.10.2018