Commit Graph

7 Commits

Author SHA1 Message Date
Dr.Lt.Data
8fd463b8cd debug(git_helper): retry clone without progress to capture git stderr
When git clone with progress=GitProgress() fails on Windows, the tqdm
progress callback consumes stderr, hiding git's actual fatal message.

This adds a diagnostic retry: on clone failure, if e.stderr is empty,
clean up the partial clone and retry without progress callback. The
retry either succeeds (proving progress was the issue) or fails with
git's actual stderr visible.

Also captures stderr in run_script() via subprocess.run(capture_output=True).

NOTE: This is a diagnostic commit — revert after root cause is identified.
2026-03-21 16:49:00 +09:00
Dr.Lt.Data
58debee9cf fix(git_helper): surface git stderr on clone failure for diagnostics
When git clone fails with exit 128 on Windows, the actual git error
(e.g. "fatal: destination path already exists") is hidden inside
GitPython's GitCommandError.stderr. Catch this specifically in
gitclone() and print e.stderr to sys.stderr before re-raising, so
the actual cause is visible in CI logs and parent process output.

No behavioral change — progress=GitProgress() is preserved as-is.
2026-03-21 12:07:08 +09:00
Dr.Lt.Data
099aed1ad4
fix(git_helper): Windows subprocess crash fix + multiplatform E2E CI (#2717)
Some checks failed
Python Linting / Run Ruff (push) Has been cancelled
Publish to PyPI / build-and-publish (push) Has been cancelled
* fix(git_helper): surface git stderr and use portable exit code

- Redirect exception output to stderr for diagnostic visibility
- Surface GitCommandError.stderr when available
- Use sys.exit(1) instead of sys.exit(-1) for portable exit codes
- Remove debug print statements

* fix(e2e): cross-platform E2E tests with file-based stdout capture

- Cross-platform cm-cli path (Scripts/cm-cli.exe vs bin/cm-cli)
- File-based stdout/stderr capture to avoid Windows pipe buffer loss
- Rename uv-compile → uv-sync for standalone command refs
- Update conflict test packs: ansible → python-slugify/text-unidecode
- Add .trash_* cleanup and retry+rename for Windows file locks
- Add test_e2e_git_clone.py for nightly install via ComfyUI server
- Add setup_e2e_env.py cross-platform setup script

* feat(ci): add multiplatform E2E workflow (ubuntu/windows/macos)

Matrix: ubuntu-latest, windows-latest, macos-latest × Python 3.10
Triggers on push to main/feat/*/fix/* and PRs to main.

* bump version to 4.1b7
2026-03-21 09:24:35 +09:00
Dr.Lt.Data
cd60f33f6d
fix(git_helper): remove comfyui_manager import to fix Windows subprocess crash (#2703)
git_helper.py is spawned as a standalone subprocess on Windows
(manager_core.py:1342). The import of comfyui_manager.common.timestamp_utils
triggered comfyui_manager/__init__.py which imports from comfy.cli_args —
unavailable in the subprocess environment, causing ModuleNotFoundError.

Inline get_backup_branch_name() using only stdlib (time, uuid), preserving
the original collision-detection and UUID-fallback semantics. Add 9 tests
covering standalone subprocess loading, behavioral equivalence, edge cases
(repo.heads exception, 99-suffix exhaustion with UUID fallback).
2026-03-18 02:04:48 +09:00
Dr.Lt.Data
8e8b6ca724 fix(git): handle divergent branches safely + datetime fallback
- Use --ff-only flag to detect non-fast-forward situations
- Create backup branch before resetting divergent local branch
- Reset to remote branch when fast-forward is not possible
- Add timestamp_utils.py for Mac datetime module compatibility
- Migrate all datetime usages to centralized utilities
- Bump version to 4.0.3b5

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-12 22:45:05 +09:00
Dr.Lt.Data
0c46434164 fixed: avoid except:
fixed: prestartup_script - remove useless exception handling when fallback resolving comfy_path
2025-04-21 12:42:50 +09:00
Dr.Lt.Data
05ceab68f8 restructuring
the existing cache-based implementation will be retained as a fallback under legacy/..., while glob/... will be updated to a cacheless implementation.
2025-04-13 09:26:02 +09:00