나는 pygit2를 사용하여 자식 벌거지 저장소에서 git log filename
과 동일한 작업을 수행하려고합니다.pygit2 blob history
from pygit2 import GIT_SORT_TIME
for commit in repo.walk(oid, GIT_SORT_TIME):
print(commit.hex)
당신이 어떤 생각을 가지고 있습니까 : 문서는 어떻게 이런 git log
을 할 설명?
감사
편집 :
from pygit2 import GIT_SORT_TIME, Repository
repo = Repository('/path/to/repo')
def iter_commits(name):
last_commit = None
last_oid = None
# loops through all the commits
for commit in repo.walk(repo.head.oid, GIT_SORT_TIME):
# checks if the file exists
if name in commit.tree:
# has it changed since last commit?
# let's compare it's sha with the previous found sha
oid = commit.tree[name].oid
has_changed = (oid != last_oid and last_oid)
if has_changed:
yield last_commit
last_oid = oid
else:
last_oid = None
last_commit = commit
if last_oid:
yield last_commit
for commit in iter_commits("AUTHORS"):
print(commit.message, commit.author.name, commit.commit_time)