2012-04-09 7 views
25

gitpythonの道:私はgitpythonを使用する必要がgitのログ--follow、私はのように単一のファイルのコミット履歴にアクセスしようとしています

git log --follow -- <filename> 

は、そう私が今やっていることは次のとおりです。

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

よりgitpython-IC方法でそれを行う方法があります:

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

は、私がコミットにオブジェクトを構築しますか? commit.iter_parents()commit.iter_items()の両方を試しましたが、どちらもgit-rev-listに依存しているため、--followオプションはありません。範囲の時間では例えば

答えて

7

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 

あなたが追加された行、削除された行と、これらの変更でファイルを見ることができます。