我正在尝试访问单个文件的提交历史记录,如下所示:
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()
and commit.iter_items()
,但他们都依赖git-rev-list
,所以他们没有--follow
选择。