aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAUTOMATIC1111 <16777216c@gmail.com>2022-11-19 09:22:51 +0000
committerGitHub <noreply@github.com>2022-11-19 09:22:51 +0000
commitaee611adb874fbabcdeea154a35908ae1f9a4bbf (patch)
tree8eef9125b87be670cd3b0ab8946aa6d31dc287e9
parent5bfef6e06345540a737a8759649017e5c2ea180c (diff)
parentd671d1d45dfab61292ed788fd7778a33a82212ee (diff)
downloadstable-diffusion-webui-gfx803-aee611adb874fbabcdeea154a35908ae1f9a4bbf.tar.gz
stable-diffusion-webui-gfx803-aee611adb874fbabcdeea154a35908ae1f9a4bbf.tar.bz2
stable-diffusion-webui-gfx803-aee611adb874fbabcdeea154a35908ae1f9a4bbf.zip
Merge pull request #4646 from mrauhu/force-update-extensions
Fix: `error: Your local changes to the following files would be overwritten by merge` when trying to update extensions in WSL2 Docker
-rw-r--r--modules/extensions.py7
-rw-r--r--modules/ui_extensions.py4
2 files changed, 7 insertions, 4 deletions
diff --git a/modules/extensions.py b/modules/extensions.py
index 94ce479a..db9c4200 100644
--- a/modules/extensions.py
+++ b/modules/extensions.py
@@ -65,9 +65,12 @@ class Extension:
self.can_update = False
self.status = "latest"
- def pull(self):
+ def fetch_and_reset_hard(self):
repo = git.Repo(self.path)
- repo.remotes.origin.pull()
+ # Fix: `error: Your local changes to the following files would be overwritten by merge`,
+ # because WSL2 Docker set 755 file permissions instead of 644, this results to the error.
+ repo.git.fetch('--all')
+ repo.git.reset('--hard', 'origin')
def list_extensions():
diff --git a/modules/ui_extensions.py b/modules/ui_extensions.py
index 6671cb60..030f011e 100644
--- a/modules/ui_extensions.py
+++ b/modules/ui_extensions.py
@@ -36,9 +36,9 @@ def apply_and_restart(disable_list, update_list):
continue
try:
- ext.pull()
+ ext.fetch_and_reset_hard()
except Exception:
- print(f"Error pulling updates for {ext.name}:", file=sys.stderr)
+ print(f"Error getting updates for {ext.name}:", file=sys.stderr)
print(traceback.format_exc(), file=sys.stderr)
shared.opts.disabled_extensions = disabled