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
.
Ответы
Ответ 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
Вы можете увидеть добавленные строки, удаленные строки и файл с этими изменениями.