version lock for controlnet and image-browser

This commit is contained in:
Vladimir Mandic
2024-01-27 14:43:15 -05:00
parent d6c4f6072e
commit 898d535266
3 changed files with 23 additions and 4 deletions
+4 -1
View File
@@ -161,6 +161,7 @@ As of this release, default backend is set to **diffusers** as its more feature
10x+ faster embeddings load for large number of embeddings, now works for 1000+ embeddings
- file and folder list caching, thanks @midcoastal
if you have a lot of files and and/or are using slower or non-local storage, this speeds up file access a lot
- add `SD_INSTALL_DEBUG` env variable to trace all `git` and `pip` operations
- **extra networks**
- 4x faster civitai metadata and previews lookup
- better display and selection of tags & trigger words
@@ -264,7 +265,9 @@ As of this release, default backend is set to **diffusers** as its more feature
- global crlf->lf switch
- model type switch if there is loaded submodels
- cleanup samplers use of compute devices, thanks @Disty0
- **other**
- **other**
- extensions `sd-webui-controlnet` is locked to commit `ecd33eb` due to breaking changes
- extension `stable-diffusion-webui-images-browser` is locked to commit `27fe4a7` due to breaking changes
- updated core requirements
- major internal ui module refactoring
this may cause compatibility issues if an extension is doing a direct import from `ui.py`
+18 -2
View File
@@ -18,6 +18,7 @@ class Dot(dict): # dot notation access to dictionary attributes
version = None
log = logging.getLogger("sd")
debug = log.debug if os.environ.get('SD_INSTALL_DEBUG', None) is not None else lambda *args, **kwargs: None
log_file = os.path.join(os.path.dirname(__file__), 'sdnext.log')
log_rolled = False
first_call = True
@@ -45,7 +46,10 @@ args = Dot({
'ignore': False,
})
git_commit = "unknown"
submodules_commit = {
'sd-webui-controlnet': 'ecd33eb',
'stable-diffusion-webui-images-browser': '27fe4a7'
}
# setup console and file logging
def setup_logging():
@@ -126,6 +130,7 @@ def setup_logging():
logging.getLogger("lycoris").handlers = log.handlers
# logging.getLogger("DeepSpeed").handlers = log.handlers
def get_logfile():
log_size = os.path.getsize(log_file) if os.path.exists(log_file) else 0
log.info(f'Logger: file="{log_file}" level={logging.getLevelName(logging.DEBUG if args.debug else logging.INFO)} size={log_size} mode={"append" if not log_rolled else "create"}')
@@ -213,6 +218,7 @@ def pip(arg: str, ignore: bool = False, quiet: bool = False):
if len(result.stderr) > 0:
txt += ('\n' if len(txt) > 0 else '') + result.stderr.decode(encoding="utf8", errors="ignore")
txt = txt.strip()
debug(f'Install pip: {txt}')
if result.returncode != 0 and not ignore:
global errors # pylint: disable=global-statement
errors += 1
@@ -279,13 +285,22 @@ def update(folder, current_branch = False, rebase = True):
pass
arg = '--rebase --force' if rebase else ''
if current_branch:
print('HERE1')
res = git(f'pull {arg}', folder)
debug(f'Install update: folder={folder} args={arg} {res}')
return res
b = branch(folder)
if branch is None:
print('HERE2')
res = git(f'pull {arg}', folder)
debug(f'Install update: folder={folder} branch={b} args={arg} {res}')
else:
res = git(f'pull origin {b} {arg}', folder)
debug(f'Install update: folder={folder} branch={b} args={arg} {res}')
commit = submodules_commit.get(os.path.basename(folder), None)
if commit is not None:
res = git(f'checkout {commit}', folder)
debug(f'Install update: folder={folder} branch={b} args={arg} commit={commit} {res}')
return res
@@ -297,7 +312,8 @@ def clone(url, folder, commithash=None):
else:
current_hash = git('rev-parse HEAD', folder).strip()
if current_hash != commithash:
git('fetch', folder)
res = git('fetch', folder)
debug(f'Install clone: {res}')
git(f'checkout {commithash}', folder)
return
else: