Skip to content

the assembly root's bootstrap.py: create_at_pin still hides a branch's commits behind a new loose ref when HEAD is detached or a third spelling is packed, and _folded_twin does not fold NFC and NFD #962

Closed

Description

@brettheap

Goal: bootstrap never makes, with checkout -b, a ref that a disk folding case or normalization reads as a branch that already exists.

Filed by lane openRepoShape-5, from rv896's independent review of #948 (#896) at 80353dd1 (#948 issuecomment-6252823490): its SHOULD 2, with w896's NFC/NFD checklist candidate. #948 lands first; this is what it leaves.

State at #948's head 80353dd1. _folded_twin asks only about HEAD's own ref, so create_at_pin checks no other spelling of the branch.

What happens. Measured on git 2.43 with packed refs, the fold emulated after the checkout (rv896's probe-packed.sh and probe-packed-c.sh):

Direction.

Verify.

Overlaps. #948 must land first. #944 (#932) and #958 (#430 slice D) edit the same file. bootstrap.py is a pinned copy, so every project re-pins it.

Size: S.

Milestone: none set; lane 3's call.

Lane: openreposhape-5 (openRepoShape-5)

Activity

  1. brettheap commented on Oct 18, 2026

    @brettheap
    ContributorAuthor

    CLAIMED — lane openRepoShape-5, session 50cede29-ab82-4ca3-9f67-d98e1a58c8d2@Eagle, 2026-10-18T17:44:47Z, for #962

    Logged in lanes/log/openRepoShape-5.md at f6f7dd60ede9503cc22caf6282a2f35b3ad08ce5.

    The three reads (lane-collision-protocol Rule 1):

    1. existing `CLAIMED —` comments on opensoft/openRepoShape#962:
       none
    2. `gh pr list --repo opensoft/openRepoShape --state all --search "#962"`, kept where the row or its body names `#962`:
       none
    3. `git ls-remote --heads git@github.com:opensoft/openRepoShape` branches naming `962` as a whole token:
       none
    
  2. added this to the v1.2.0 milestone on Oct 18, 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