aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorspace-nuko <24979496+space-nuko@users.noreply.github.com>2023-03-29 23:32:29 +0000
committerspace-nuko <24979496+space-nuko@users.noreply.github.com>2023-03-29 23:32:29 +0000
commitf22d0dde4e57444b2d4fe997338550bb82bb249e (patch)
tree38d8f845e5468e6e7682d8a88053801dffa970b1
parentad5afcaae0b47e9e68b49aacf04cc3ad59d41a8e (diff)
downloadstable-diffusion-webui-gfx803-f22d0dde4e57444b2d4fe997338550bb82bb249e.tar.gz
stable-diffusion-webui-gfx803-f22d0dde4e57444b2d4fe997338550bb82bb249e.tar.bz2
stable-diffusion-webui-gfx803-f22d0dde4e57444b2d4fe997338550bb82bb249e.zip
Better checking of extension state from Git info
-rw-r--r--modules/extensions.py14
1 files changed, 13 insertions, 1 deletions
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():