我正在使用pygit2来访问repo的状态
status = repo.status()
for filepath,flags in status.items():
print ("path %s flags %d", filepath, flags)
我似乎无法找到有关如何解释标志的任何文档
有人能指出我的方向吗
答案 0 :(得分:1)
documentation似乎很清楚:
Repository.status()→{str:int}
读取存储库的状态,并返回一个字典,其中文件路径为键,状态标志为值。请参阅pygit2.GIT_STATUS _ *。
答案 1 :(得分:0)
您需要提取pygit2状态代码。这是一个例子。
git status
的输出,用于一些未暂存的提交:
On branch master
Changes not staged for commit:
deleted: deleted.txt
modified: modified.txt
Untracked files:
added.txt
pygit2状态输出
repo.status()
#{'added.txt': 128, 'deleted.txt': 512, 'modified.txt': 256}
pygit2中的状态代码
from pygit2 import GIT_STATUS_WT_NEW, GIT_STATUS_WT_DELETED, GIT_STATUS_WT_MODIFIED
print("GIT_STATUS_WT_NEW", GIT_STATUS_WT_NEW)
print("GIT_STATUS_WT_DELETED", GIT_STATUS_WT_DELETED)
print("GIT_STATUS_WT_MODIFIED", GIT_STATUS_WT_MODIFIED)
#GIT_STATUS_WT_NEW 128
#GIT_STATUS_WT_DELETED 512
#GIT_STATUS_WT_MODIFIED 256
对于分阶段提交,相关的状态代码为GIT_STATUS_INDEX_NEW
,GIT_STATUS_INDEX_DELETED
,GIT_STATUS_INDEX_MODIFIED
,依此类推。