Подтвердить что ты не робот

Git log - ниже, путь gitpython

Я пытаюсь получить доступ к истории фиксации одного файла, как в:

git log --follow -- <filename>

Мне нужно использовать gitpython, так что теперь я делаю следующее:

import git 
g = git.Git('repo_dir') 
hexshas = g.log('--pretty=%H','--follow','--',filename).split('\n') 

тогда я создаю объекты фиксации:

repo = git.Repo('repo_dir')
commits = [repo.rev_parse(c) for c in r]

Есть ли способ сделать это более gitpython-ic? Я пробовал как commit.iter_parents(), так и commit.iter_items(), но оба они полагаются на git-rev-list, поэтому у них нет опции --follow.

4b9b3361

Ответ 1

Например,

С интервалом времени:

g = git.Git("C:/path/to/your/repo") 
loginfo = g.log('--since=2013-09-01','--author=KIM BASINGER','--pretty=tformat:','--numstat')
print loginfo

Вывод:

3       2       path/in/your/solutions/some_file.cs

Вы можете увидеть добавленные строки, удаленные строки и файл с этими изменениями.