You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
family.py bump (and add, remove) take no --dry-run, though the file's exit-code paragraph says a dry run prints and exits 0 and bump-leg.py has one, so the only way to see what a bump would pin is to run it: fetch, check the member out at --to and rewrite family.yaml #326
What happens. Measured on be2790e from each subcommand's --help: family.py init and siblings list --dry-run; bump, add and remove do not; bump-leg.py does ("print what would move and change nothing"). In cmd_bump the order is: fetch the member (git fetch -q origin), git checkout -q <commit> in the member, rewrite family.yaml (write_members), git add -- <path>, and only then _nothing_to_record. So even the nothing to do answer #210 added costs the fetch and the checkout, and a real bump cannot be previewed.
Where. scripts/family.py:cmd_bump (:947; fetch :976, checkout :981, write_members :995), the bump parser in build_parser; the module docstring's EXIT CODES: 0 done · 1 nothing (a dry run prints and exits 0) · 2 a refusal., which is true for init and siblings only.
Why it matters. A bump re-pins a member in a holder, and the sibling tool for a leg pin already offers the preview. Direction: --dry-run that resolves --to, prints the row it would write and the digest, and exits 0 (1 for nothing), before it checks anything out or writes family.yaml; decide at the same time whether add and remove get one.
CLAIMED — lane openRepoShape-4, session 3431c370-df80-4c11-a041-41bce42d8b38@Eagle, 2026-10-12T11:08:13Z, for #326
Logged in lanes/log/openRepoShape-4.md at 280867f7e234e2b7fcb771e6b2230b144b3c7041.
The three reads (lane-collision-protocol Rule 1):
1. existing `CLAIMED —` comments on opensoft/openRepoShape#326:
none
2. `gh pr list --repo opensoft/openRepoShape --state all --search "#326"`, kept where the row or its body names `#326`:
none
3. `git ls-remote --heads git@github.com:opensoft/openRepoShape` branches naming `326` as a whole token:
none
Activity
brettheap commentedon Oct 12, 2026
CLAIMED — lane openRepoShape-4, session 3431c370-df80-4c11-a041-41bce42d8b38@Eagle, 2026-10-12T11:08:13Z, for #326
Logged in
lanes/log/openRepoShape-4.mdat280867f7e234e2b7fcb771e6b2230b144b3c7041.The three reads (lane-collision-protocol Rule 1):
family.py: `remove --dry-run` prints a path the index does not hold a…
tests/test_family_dry_run.py: the dry-run state check lists object fi…
family.py: `bump --dry-run` fetches the member, resolves `--to` and p…
tests/test_family_dry_run.py: `add --dry-run` is held to the `id:` a …
Merge origin/main 92e29d9 into fix/adopt-root-kept-symlinks: #190's r…
Merge branch 'fix/family-member-re' (#399) into fix/family-add-dry-ru…
Merge remote-tracking branch 'origin/main' (45e01f4) into fix/family-…
tests/test_family_dry_run.py: `add --dry-run` is held to `member-dupl…
Merge branch 'fix/family-add-dry-run' (#400, 7062a47) into fix/family…
Merge origin/main (dd8d0ea, with #400's squash a92e60b) into fix/fami…
Merge origin/main dd8d0ea into fix/adopt-root-kept-symlinks: #261's `…
family.py: `bump --to` asks `add`'s duplicate-id question, peels an a…