diff options
author | space-nuko <24979496+space-nuko@users.noreply.github.com> | 2023-03-29 23:32:29 +0000 |
---|---|---|
committer | space-nuko <24979496+space-nuko@users.noreply.github.com> | 2023-03-29 23:32:29 +0000 |
commit | f22d0dde4e57444b2d4fe997338550bb82bb249e (patch) | |
tree | 38d8f845e5468e6e7682d8a88053801dffa970b1 /modules | |
parent | ad5afcaae0b47e9e68b49aacf04cc3ad59d41a8e (diff) | |
download | stable-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
Diffstat (limited to 'modules')
-rw-r--r-- | modules/extensions.py | 14 |
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():
|