我正在使用 pygit2 访问回购的状态
status = repo.status()
for filepath,flags in status.items():
print ("path %s flags %d", filepath, flags)
我似乎无法找到有关如何解释标志的任何文档
有人可以指出我正确的方向吗
文档似乎对此非常清楚:
Repository.status() → {str: int}
读取存储库的状态并返回一个字典,其中文件路径作为键,状态标志作为值。请参阅 pygit2.GIT_STATUS_*。
您需要提取 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
等。