2012-04-09 9 views
25

gitpython yol: Ben gitpython kullanmak zorundagit günlüğü --follow, ben gibi tek bir dosya geçmişini taahhüt erişmeye çalışıyorum

git log --follow -- <filename> 

, yani ne ben şimdi yapıyorum geçerli:

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

daha gitpython-ic şekilde bunu yapmak için bir yol var mı:

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

sonra taahhüt nesneleri oluşturmak? Her ikisi de commit.iter_parents() ve commit.iter_items()'u denedim, ancak her ikisi de git-rev-list güveniyor, dolayısıyla bir --follow seçeneği yok. aralık Zamanla Örneğin

cevap

7

,

:

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

Çıktı:

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

Sen eklenen satırları kaldırıldı hatları ve bu değişikliklerle dosyayı görebilirsiniz.

İlgili konular