12 Commits

Author SHA1 Message Date
ethernet
a5bd7e574e update-test: point the rehearsal straight at the fork
pre no longer builds a bare serve.git mirror, moves refs or sets
allowAnySHA1InWant. The repo-local insteadOf now rewrites the official
URLs directly to --source, so updates follow the fork's main (force-push
it to the branch under test). post still undoes the redirect via the
clone/snapshot restore.

--ref is removed: neither hermes update nor the tester's pre-branch
desktop can follow another branch through config the kit could set
without the mirror. pre now ls-remotes --source's main before writing
anything, so a bad source aborts with nothing done. The stale
global-redirect cleanup is dropped: it only matched serve.git paths.
2026-09-24 15:40:18 -04:00
ethernet
be694719e9 fix(handoff): curl latest sha for repo 2026-09-24 11:09:52 -04:00
ethernet
4c317633e8 handoff fix 2026-09-23 14:09:14 -04:00
ethernet
86adc51d7c feat(update-test): snapshot with VSS instead of tarring the whole home (Windows)
pre tarred the entire HERMES_HOME, which is slow on a real home (hundreds of
thousands of files) and silently left out files other processes held open:
on a live 33GB home the tar came out at 4.7GB with no error.

pre now takes a `hermes backup` of the user's data, then a Volume Shadow
Copy snapshot of the volume(s) holding HERMES_HOME and the Electron userData.
The snapshot is copy-on-write: 2s, nothing copied, locked files included.
post checks every snapshot still exists before touching anything, then
robocopy /MIR's both trees back from it (only changed files are copied,
files the update added are deleted; HERMES_HOME\cache is left alone), and
deletes the snapshot. If Windows dropped the snapshot, post changes nothing
and points at the hermes backup zip instead.

pre and post now need an elevated PowerShell.
2026-09-23 11:29:29 -04:00
ethernet
feddb800bc docs(update-test): use PowerShell parameter syntax in the ps1 examples
The script's .EXAMPLE and HANDOFF.md told Windows users to pass --source,
--ref and --yes, which PowerShell rejects as extra positional arguments.
Use -Source, -Ref and -Yes.
2026-09-23 00:51:36 -04:00
ethernet
3e8124eb68 ) 2026-09-18 13:35:28 -04:00
ethernet
b7bfc178ed cachebust 2026-09-18 12:21:26 -04:00
ethernet
1d324b6e4b fix agane 2026-09-18 11:32:29 -04:00
ethernet
6072438281 newlines lol 2026-09-18 11:31:05 -04:00
ethernet
ca8fed3f20 fix: cache bust update test 2026-09-18 11:27:11 -04:00
ethernet
e7055b2ffa test(update): drop gzip from the rehearsal backup archives
The backup root is typically the same internal disk, so the size saving
buys nothing; measured on an M1 over a 3.3G checkout, gzip made the
backup 5x slower (74s vs 14s). Store hermes-home.tar and
electron-userdata.tar uncompressed.
2026-09-17 17:39:15 -04:00
ethernet
dab981a3a5 test(update): add the manual update-rehearsal kit under scripts/update-test
Hand-off kit for proving an existing source install can move to a
branch through the real update surfaces: pre (backup + arm a
transport-level insteadOf redirect at a serve.git of the target ref),
then 'hermes update', then post (rollback + restore-exactness report).
PLAN.md holds the design; smoke-test.* is the maintainer self-check.
2026-09-17 17:24:30 -04:00