Skip to content

fix(cli): gitignore Desktop bootstrap marker so hermes update stops autostashing it - #39707

Merged
teknium1 merged 2 commits into
mainfrom
hermes/hermes-65a87e7f
Jun 5, 2026
Merged

fix(cli): gitignore Desktop bootstrap marker so hermes update stops autostashing it#39707
teknium1 merged 2 commits into
mainfrom
hermes/hermes-65a87e7f

Conversation

@teknium1

@teknium1 teknium1 commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

Summary

hermes update no longer treats the Desktop bootstrap marker as a local change. Adding .hermes-bootstrap-complete to .gitignore makes git stash -u and git status --porcelain skip it, so the updater sees a clean tree and stops creating a spurious autostash on every run.

Root cause: the bootstrap installer writes .hermes-bootstrap-complete into the managed checkout root; it wasn't ignored, so git stash push --include-untracked swept it into an autostash and prompted the user to restore "local changes" that were really Hermes-managed install state — which could strand the marker in a stash and re-trigger Desktop bootstrap.

Changes

  • .gitignore: ignore .hermes-bootstrap-complete
  • tests/hermes_cli/test_update_autostash.py: hermetic regression test — adopts the repo's real .gitignore, drops the marker, runs the exact git stash -u the updater uses, asserts the marker survives and stays out of git status --porcelain
  • scripts/release.py: AUTHOR_MAP entry for the contributor's email (CI gate)

Validation

Before After
marker after git stash -u swept into autostash untouched
test_update_autostash.py::test_bootstrap_marker_not_autostashed_by_update red green

Salvage of #38550 by @harjothkhara onto current main (authorship preserved). Fabricated Co-Authored-By: Claude Opus 4.8 trailer dropped on cherry-pick.

Fixes #38529
Closes #38550

Infographic

mission-patch: hermes update clean tree

harjothkhara and others added 2 commits June 5, 2026 02:34
…utostashing it

The Desktop bootstrap installer writes `.hermes-bootstrap-complete` into the
managed git checkout root. Because it wasn't gitignored, `hermes update`'s
`git stash push --include-untracked` treated it as a local change and created an
autostash on every run — prompting the user to restore "local changes" that were
really Hermes-managed runtime state (and risking the marker getting stranded in a
stash, which re-triggers Desktop bootstrap).

Add the marker to .gitignore; `git stash -u` and `git status --porcelain` both
skip ignored files, so the updater now sees a clean tree.

Fixes #38529
@github-actions

github-actions Bot commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

🔎 Lint report: hermes/hermes-65a87e7f vs origin/main

ruff

Total: 0 on HEAD, 0 on base (➖ 0)

🆕 New issues: none

✅ Fixed issues: none

Unchanged: 0 pre-existing issues carried over.

ty (type checker)

Total: 9855 on HEAD, 9855 on base (➖ 0)

🆕 New issues: none

✅ Fixed issues: none

Unchanged: 5109 pre-existing issues carried over.

Diagnostics are surfaced as warnings — this check never fails the build.

@alt-glitch alt-glitch added type/bug Something isn't working P2 Medium — degraded but workaround exists comp/cli CLI entry point, hermes_cli/, setup wizard duplicate This issue or pull request already exists labels Jun 5, 2026
@teknium1
teknium1 merged commit 397d492 into main Jun 5, 2026
23 checks passed
@teknium1
teknium1 deleted the hermes/hermes-65a87e7f branch June 5, 2026 09:54
@alt-glitch

Copy link
Copy Markdown
Collaborator

Duplicate of #38550 / #38555 (same one-line .gitignore fix for .hermes-bootstrap-complete to stop hermes update autostashing the Desktop bootstrap marker). Note #38542 (merged) already addressed the underlying issue #38529 via main.py/install scripts, so this gitignore approach may be redundant. Consolidating.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/cli CLI entry point, hermes_cli/, setup wizard duplicate This issue or pull request already exists P2 Medium — degraded but workaround exists type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

hermes update repeatedly autostashes Desktop bootstrap marker .hermes-bootstrap-complete

3 participants