如何检查 git.Repo().remotes.origin.pull() 是否实际用新 code/files 更新了目录
How to check if git.Repo().remotes.origin.pull() actually updated the directory with new code/files
import git # gitpython module
def update_repo(repo)
repo = git.Repo(repo)
ret = repo.remotes.origin.pull()
print(ret)
# some code I want to execute if and only if repo.remotes.origin.pull() changed something within the directory
update_repo('/Path/To/Repo/.git')
>>> [<git.remote.FetchInfo object at 0x7f83521b21b0>]
我尝试打印 repo.remotes.origin.pull()
returns 并获得了 git.remote.FetchInfo
对象的列表。我对其进行了搜索,并在他们的文档 git.remote.FetchInfo 中找到了对此的参考,但我完全不明白其中是否有任何内容可以帮助我实现我想要实现的目标。
在一遍又一遍地阅读文档时,我终于意识到git.remote.FetchInfo.flags
根据拉动的动作给了我一个整数
经过一些测试,我发现如果 flag == 4
则没有文件,而 flag == 64
意味着有变化
def update_repo(repo)
repo = git.Repo(repo)
ret = repo.remotes.origin.pull()
print(ret)
if ret[0].flags == 4:
return
# rest of the code I wanted to execute only if a change took place
import git # gitpython module
def update_repo(repo)
repo = git.Repo(repo)
ret = repo.remotes.origin.pull()
print(ret)
# some code I want to execute if and only if repo.remotes.origin.pull() changed something within the directory
update_repo('/Path/To/Repo/.git')
>>> [<git.remote.FetchInfo object at 0x7f83521b21b0>]
我尝试打印 repo.remotes.origin.pull()
returns 并获得了 git.remote.FetchInfo
对象的列表。我对其进行了搜索,并在他们的文档 git.remote.FetchInfo 中找到了对此的参考,但我完全不明白其中是否有任何内容可以帮助我实现我想要实现的目标。
在一遍又一遍地阅读文档时,我终于意识到git.remote.FetchInfo.flags
根据拉动的动作给了我一个整数
经过一些测试,我发现如果 flag == 4
则没有文件,而 flag == 64
意味着有变化
def update_repo(repo)
repo = git.Repo(repo)
ret = repo.remotes.origin.pull()
print(ret)
if ret[0].flags == 4:
return
# rest of the code I wanted to execute only if a change took place