From f22d0dde4e57444b2d4fe997338550bb82bb249e Mon Sep 17 00:00:00 2001 From: space-nuko <24979496+space-nuko@users.noreply.github.com> Date: Wed, 29 Mar 2023 18:32:29 -0500 Subject: [PATCH] Better checking of extension state from Git info --- modules/extensions.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/modules/extensions.py b/modules/extensions.py index a87beaa3..34d9d654 100644 --- a/modules/extensions.py +++ b/modules/extensions.py @@ -91,9 +91,20 @@ class Extension: for fetch in repo.remote().fetch(dry_run=True): if fetch.flags != fetch.HEAD_UPTODATE: self.can_update = True - self.status = "behind" + self.status = "new commits" return + try: + origin = repo.rev_parse('origin') + if repo.head.commit != origin: + self.can_update = True + self.status = "behind HEAD" + return + except Exception: + self.can_update = False + self.status = "unknown (remote error)" + return + self.can_update = False self.status = "latest" @@ -103,6 +114,7 @@ class Extension: # because WSL2 Docker set 755 file permissions instead of 644, this results to the error. repo.git.fetch(all=True) repo.git.reset(commit, hard=True) + self.have_info_from_repo = False def list_extensions():