3

Python で指定したファイルの作成者名と最終コミット時刻が必要です。現在、私はdulwichを使用しようとしています。

次のような特定の SHA のオブジェクトを取得する API はたくさんあります。

repo = Repo("myrepo")
head = repo.head()
object = repo.get_object(head)
author = object.author
time = object.commit_time

しかし、特定のファイルの最近のコミットをどのように知ることができますか? 次のように取得する方法はありますか?

repo = Repo("myrepo")
commit = repo.get_commit('a.txt')
author = commit.author
time = commit.commit_time

また

repo = Repo("myrepo")
sha = repo.get_sha_for('a.txt')
object = repo.get_object(sha)
author = object.author
time = object.commit_time

ありがとうございました。

4

2 に答える 2

6

を使用した短い例Repo.get_walker:

r = Repo(".")
p = "the/file/to/look/for"

w = r.get_walker(paths=[p], max_entries=1)
try:
    c = iter(w).next().commit
except StopIteration:
     print "No file %s anywhere in history." % p
else:
    print "%s was last changed at %s by %s (commit %s)" % (
        p, time.ctime(c.author_time), c.author, c.id)
于 2013-12-07T14:27:34.587 に答える