A bare `git fetch origin` (and `git fetch upstream`) pulls every ref. The repo carries thousands of auto-generated branches, so on any non-single-branch checkout the installer's update path and `hermes update` spend minutes downloading the full branch list — long enough to stall the desktop installer or trip the follow-up `git pull --ff-only`. Scope every update-path fetch to the branch we actually compare/merge against: - scripts/install.sh: collapse the remote to single-branch and fetch only $BRANCH on the "existing install, updating" path. - hermes_cli/main.py: fetch the resolved branch in the apply path, the --check path (upstream + origin), and the fork upstream-sync. Tracking-ref updates still happen via git's opportunistic refspec, so the later origin/<branch> rev-parse/rev-list checks are unaffected. Tests assert the apply-path fetch is branch-scoped and never bare. |
||
|---|---|---|
| .. | ||
| lib | ||
| tests | ||
| whatsapp-bridge | ||
| analyze_livetest.py | ||
| benchmark_browser_eval.py | ||
| build_model_catalog.py | ||
| build_skills_index.py | ||
| check-windows-footguns.py | ||
| contributor_audit.py | ||
| discord-voice-doctor.py | ||
| docker_config_migrate.py | ||
| hermes-gateway | ||
| install.cmd | ||
| install.ps1 | ||
| install.sh | ||
| install_psutil_android.py | ||
| keystroke_diagnostic.py | ||
| kill_modal.sh | ||
| lint_diff.py | ||
| LIVETEST_README.md | ||
| profile-tui.py | ||
| release.py | ||
| run_tests.sh | ||
| run_tests_parallel.py | ||
| sample_and_compress.py | ||
| setup_open_webui.sh | ||
| tool_search_livetest.py | ||