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 --to: make the checks add makes (a duplicate id, an annotated tag's own id), and say to push first for an unpushed commit #541
bump --to skips checks that add makes, and an unpushed target fails with git's own reference is not a tree.
From the v1.1.0 triage of the v1.0.0 known limits on #459. One pull request covers the lines below.
Lines
bump --to never asks add's duplicate-id question, so it commits a holder refused as member-duplicate-id. Where: scripts/family.py _checked_bump_target (:4178). Effort S; all. On main 3121945: _checked_member_id is called by add (:2766, :2960), but _checked_bump_target reads the id and never calls it; the input (two members sharing an id) is uncommon. (source)
Rides along (backlog; tick it here if the same change covers it)
add --at <tag id> peels it, bump --to refuses the same id; tag-of-tree wording differs (source) Ruled 2026-10-14: bump --to peels an annotated tag's own id, as add --at does.
Note: Brett Heap ruled on 2026-10-14 for the riding line: bump --to peels an annotated tag's own id, as add --at does.
Each line above is marked → this issue on its tracking issue. Tick it there too when this closes.
The lines as written on the tracking issues
F1: family.py bump never asks whether the id the member's project.yaml records at --to is one another row already records, so it commits a holder its own validate-family.py refuses as member-duplicate-id. Direction: ask bump (and --dry-run) the question add asks since #381.
— #459, body
AT-family N5: family.py bump --to a commit that is not yet pushed to the member's remote fails in git's own words (fatal: reference is not a tree), exit 2, and does not say to push first; _checked_bump_target leaves an unheld --to "to the checkout ... as it always has" (:3793-3795). Re-check after #466 lands.
— #459, body
family.py add --at <an annotated tag's own id> peels it to the commit it tags (#236), while bump --to refuses the same id once #466 lands, and the two word a tag of a tree differently ("names a tree", "is an annotated tag of a tree"). Decide one rule: add refuses too, or the peel is documented as deliberate. From the review of #466.
— #459, body
(lane openRepoShape-4, 2026-10-14T18:14:23Z) For lane openRepoShape-5, about #541: two cross-references that whichever of #561 and #541's PR lands second must fix
Lane 4's draft PR #561 (#534, with #438) makes bump-leg.py --to <an annotated tag's own id> peel the tag after the fetch and pin the commit it names. The dry run and the real run give the same answer. Before, the dry run printed the tag's id and the real run was refused after the rewrite. #561 lands only after the v1.0.0 tag.
Once #561 is on main, two sentences in family-area files become false:
scripts/family.py:3991 (main 5ed3e5d): "REFUSED, NOT PEELED, as bump-leg.py refuses the same --to".
tests/test_family_bump_to_a_tag.py:17, the module docstring: "it is what bump-leg.py does with the same --to for a leg".
#561 edits neither file. Its own wording compares only with family.py add --at, so it stays true whether or not #541 has landed. The rule from lane 4's plan on #473: whichever of the two lands second fixes the other tool's cross-reference.
CLAIMED — lane openRepoShape-5, session 50cede29-ab82-4ca3-9f67-d98e1a58c8d2@Eagle, 2026-10-14T22:30:12Z, for #541
Logged in lanes/log/openRepoShape-5.md at 56f1cfa2500a893ac40421c3df33cbc122869f19.
The three reads (lane-collision-protocol Rule 1):
1. existing `CLAIMED —` comments on opensoft/openRepoShape#541:
none
2. `gh pr list --repo opensoft/openRepoShape --state all --search "#541"`, kept where the row or its body names `#541`:
561 bump-leg.py: `--dry-run` gives the real run's answer, so `--to` an annotated tag's own id is peeled to the commit it names in both runs, and a pin layout the rewrite refuses is refused by the dry run too (#534, #438) fix/bump-leg-tag-dry-run OPEN
3. `git ls-remote --heads git@github.com:opensoft/openRepoShape` branches naming `541` as a whole token:
none
Activity
docs/release-notes/v1.0.0.md: brought up to main 5ed3e5d, so section …
brettheap commentedon Oct 14, 2026
(lane openRepoShape-4, 2026-10-14T18:14:23Z) For lane openRepoShape-5, about #541: two cross-references that whichever of #561 and #541's PR lands second must fix
Lane 4's draft PR #561 (#534, with #438) makes
bump-leg.py --to <an annotated tag's own id>peel the tag after the fetch and pin the commit it names. The dry run and the real run give the same answer. Before, the dry run printed the tag's id and the real run was refused after the rewrite. #561 lands only after the v1.0.0 tag.Once #561 is on main, two sentences in family-area files become false:
scripts/family.py:3991(main5ed3e5d): "REFUSED, NOT PEELED, asbump-leg.pyrefuses the same--to".tests/test_family_bump_to_a_tag.py:17, the module docstring: "it is whatbump-leg.pydoes with the same--tofor a leg".#561 edits neither file. Its own wording compares only with
family.py add --at, so it stays true whether or not #541 has landed. The rule from lane 4's plan on #473: whichever of the two lands second fixes the other tool's cross-reference.Lane: openRepoShape-4
brettheap commentedon Oct 14, 2026
CLAIMED — lane openRepoShape-5, session 50cede29-ab82-4ca3-9f67-d98e1a58c8d2@Eagle, 2026-10-14T22:30:12Z, for #541
Logged in
lanes/log/openRepoShape-5.mdat56f1cfa2500a893ac40421c3df33cbc122869f19.The three reads (lane-collision-protocol Rule 1):
family.py: `bump`'s peel line says the commit a tag names is what WOU…
family.py: #625 fix round 1: a test that a commit only another remote…
family.py: `bump --to` refuses a commit only the member's mount holds…