sync kanvas branch on startup

Signed-off-by: vladmandic <mandic00@live.com>
pull/4783/head^2
vladmandic 2026-04-21 17:14:11 +02:00
parent ab145c4a1c
commit e70e559dce
2 changed files with 37 additions and 3 deletions

View File

@ -1,8 +1,8 @@
# Change Log for SD.Next
## Update for 2026-04-20
## Update for 2026-04-21
### Highlights for 2026-04-20
### Highlights for 2026-04-21
*What's New?*
- New models! **Zeta-Chroma**, **ERNIE**, **Nucleus**, **Bria-FIBO**, **Anima-v3**, **SDXS-1B**, **LTX 2.3 v1.1**
@ -17,7 +17,7 @@ For full details, see [ChangeLog](https://github.com/vladmandic/automatic/blob/m
[ReadMe](https://github.com/vladmandic/automatic/blob/master/README.md) | [ChangeLog](https://github.com/vladmandic/automatic/blob/master/CHANGELOG.md) | [Docs](https://vladmandic.github.io/sdnext-docs/) | [WiKi](https://github.com/vladmandic/automatic/wiki) | [Discord](https://discord.com/invite/sd-next-federal-batch-inspectors-1101998836328697867) | [Sponsor](https://github.com/sponsors/vladmandic)
### Details for 2026-04-20
### Details for 2026-04-21
- **Models**
- [Zeta-Chroma](https://huggingface.co/lodestones/Zeta-Chroma) pixel-space diffusion transformer image model
@ -104,6 +104,7 @@ For full details, see [ChangeLog](https://github.com/vladmandic/automatic/blob/m
- **Obsoleted**
- removed *system-info* from *extensions-builtin*
- **Internal**
- sync `kanvas` branch with core branch
- `history` accepts both latent and pixel entries
- wrap `hf-download` methods
- additional *typing* and *typechecks*, thanks @awsr

View File

@ -1363,12 +1363,14 @@ def get_version(force=False):
subprocess.run('git config log.showsignature false', capture_output=True, shell=True, check=True)
except Exception:
pass
try:
ver = run('git', 'log --pretty=format:"%h %ad" -1 --date=short', check=True)[0].stdout or ' '
commit, updated = ver.split(' ')
version['commit'], version['updated'] = commit, updated
except Exception as e:
log.warning(f'Version: where=commit {e}')
try:
origin = run('git', 'remote get-url origin', check=True)[0].stdout
branch_name = run('git', 'rev-parse --abbrev-ref HEAD', check=True)[0].stdout
@ -1378,6 +1380,7 @@ def get_version(force=False):
log.warning('Version: detached state detected')
except Exception as e:
log.warning(f'Version: where=branch {e}')
try:
if os.path.exists('extensions-builtin/sdnext-modernui'):
branch_ui = run('git', 'rev-parse --abbrev-ref HEAD', check=True, cwd='extensions-builtin/sdnext-modernui')[0].stdout
@ -1387,6 +1390,7 @@ def get_version(force=False):
except Exception as e:
log.warning(f'Version: where=modernui {e}')
version['ui'] = 'unknown'
try:
if os.environ.get('SD_KANVAS_DISABLE', None) is not None:
version['kanvas'] = 'disabled'
@ -1398,6 +1402,7 @@ def get_version(force=False):
except Exception as e:
log.warning(f'Version: where=kanvas {e}')
version['kanvas'] = 'unknown'
ts('version', t_start)
return version
@ -1429,6 +1434,33 @@ def check_ui(ver):
ts('ui', t_start)
def check_kanvas(ver):
def same(ver):
core = ver['branch'] if ver is not None and 'branch' in ver else 'unknown'
kanvas = ver['kanvas'] if ver is not None and 'kanvas' in ver else 'unknown'
return (core == kanvas) or (core == 'master' and kanvas == 'main') or (core == 'dev' and kanvas == 'dev') or (core == 'HEAD')
if 'vladmandic/sdnext' not in ver.get('url', ''):
return
t_start = time.time()
if not same(ver):
log.debug(f'Branch mismatch: {ver}')
try:
if 'dev' in ver['branch']:
target = 'dev'
elif 'main' in ver['branch'] or 'master' in ver['branch']:
target = 'main'
else:
target =None
if target:
git('checkout ' + target, folder='extensions-builtin/sdnext-kanvas', ignore=True, optional=True)
ver = get_version(force=True)
log.debug(f'Branch sync: {ver}')
except Exception as e:
log.debug(f'Branch switch: {e}')
ts('kanvas', t_start)
def check_venv():
def try_relpath(p):
try:
@ -1480,6 +1512,7 @@ def check_version(reset=True): # pylint: disable=unused-argument
if args.version or args.skip_git:
return
check_ui(ver)
check_kanvas(ver)
commit = git('rev-parse HEAD')
global git_commit # pylint: disable=global-statement
git_commit = commit[:7]