aboutsummaryrefslogtreecommitdiff
path: root/modules/extensions.py
diff options
context:
space:
mode:
authorAUTOMATIC1111 <16777216c@gmail.com>2022-12-03 10:19:51 +0300
committerGitHub <noreply@github.com>2022-12-03 10:19:51 +0300
commitc9a2cfdf2a53d37c2de1908423e4f548088667ef (patch)
treeeabdca1b7665e0ee00f130e9f8544ffd23e474a2 /modules/extensions.py
parent39541d7725bc42f456a604b07c50aba503a5a09a (diff)
parent5cd5a672f7889dcc018c3873ec557d645ebe35d0 (diff)
Merge branch 'master' into racecond_fix
Diffstat (limited to 'modules/extensions.py')
-rw-r--r--modules/extensions.py16
1 files changed, 11 insertions, 5 deletions
diff --git a/modules/extensions.py b/modules/extensions.py
index 897af96e..db9c4200 100644
--- a/modules/extensions.py
+++ b/modules/extensions.py
@@ -6,7 +6,6 @@ import git
from modules import paths, shared
-
extensions = []
extensions_dir = os.path.join(paths.script_path, "extensions")
@@ -34,8 +33,11 @@ class Extension:
if repo is None or repo.bare:
self.remote = None
else:
- self.remote = next(repo.remote().urls, None)
- self.status = 'unknown'
+ try:
+ self.remote = next(repo.remote().urls, None)
+ self.status = 'unknown'
+ except Exception:
+ self.remote = None
def list_files(self, subdir, extension):
from modules import scripts
@@ -63,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():
@@ -81,3 +86,4 @@ def list_extensions():
extension = Extension(name=dirname, path=path, enabled=dirname not in shared.opts.disabled_extensions)
extensions.append(extension)
+