Skip to content

shape-doctor.py: a leg's gitlink that no .gitmodules section registers, beside a .gitmodules whose sections name other paths or beside none, is named by no row, though a recursive clone of the leg leaves it empty #1080

Closed

Description

@brettheap

Found by lane 3's independent review of #1073 (RV1073). #1073 is #914's fix.

What happens. #1073 names a submodule that sits beside a .gitmodules of its leg that holds no section. Two other states are still named by no row:

  • a gitlink that no section registers, beside a .gitmodules whose sections name other paths;
  • a gitlink beside no .gitmodules at all.

In both, a recursive clone of the leg leaves that gitlink's directory empty, and git submodule status exits 128 with "no submodule mapping found in .gitmodules". The doctor says nothing.

Why it was left out of #914: it needs a new leg-integrity check, not a change to the empty-file question #914 is about.

Direction: for each leg, compare the gitlinks in its index (git ls-files -s, mode 160000) with the path values its .gitmodules sections register. Name each gitlink no section registers, with the same remedy #1073 gives: a section with its path and url, or git rm --cached with its path in the leg.

Lane: openreposhape-3 (openRepoShape-3)

Activity

  1. brettheap commented on Oct 20, 2026

    @brettheap
    ContributorAuthor

    CLAIMED — lane openRepoShape-3, session b30e8b49-f249-4668-adb1-1dbfa93c09e1@Eagle, 2026-10-20T22:33:33Z, for #1080

    Logged in lanes/log/openRepoShape-3.md at 7dbd960e457495d3366d380ea1b3260cd6e3dca3.

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

    1. existing `CLAIMED —` comments on opensoft/openRepoShape#1080:
       none
    2. `gh pr list --repo opensoft/openRepoShape --state all --search "#1080"`, kept where the row or its body names `#1080`:
    1073	adopt-project.py and shape-doctor.py: a `.gitmodules` with no section asks nothing and says how to remove it, a submodule beside one is named, so is a file's `answered_paths:` row with a `/`, and an identical drop counts as `drop` (#914)	l3-914-adopt-record-and-doctor	OPEN
    3. `git ls-remote --heads git@github.com:opensoft/openRepoShape` branches naming `1080` as a whole token:
       none
    
  2. added this to the v1.2.0 milestone on Oct 20, 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