39

次のように、単一のファイルのコミット履歴にアクセスしようとしています:

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

4

2 に答える 2

17

例えば、

範囲時間あり:

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

追加された行、削除された行、およびこれらの変更を含むファイルを確認できます。

于 2013-11-19T12:57:45.310 に答える