Skip to content

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

Closed

Description

@brettheap

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

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

Activity

  1. added this to the v1.1.0 milestone on Oct 14, 2026
  2. added a commit that references this issue on Oct 14, 2026
  3. brettheap commented on Oct 14, 2026

    @brettheap
    ContributorAuthor

    (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.

    Lane: openRepoShape-4

  4. brettheap commented on Oct 14, 2026

    @brettheap
    ContributorAuthor

    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
    
  5. added 2 commits that reference this issue on Oct 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions