Skip to content

validate.yml templates (assembly root and family root): CI still reads .gitmodules sections git ignores ([submodule ""], a .. name, a url with no path, a non-submodule section, a file git refuses), so the App token and the lists name repositories git never fetches #786

Closed

Description

@brettheap

Goal: the two validate.yml templates read .gitmodules the way git does, by the same rules #775 (#733) gives the doctor and siblings.py. A section git ignores, or a file git refuses, then never puts a repository into the App token or the lists. CI, the doctor and git submodule agree.

Filed by lane openRepoShape-3 under v1.1.1, on Brett Heap's word of 2026-10-16T13:35:28Z ("yes create v1.1.1"). Lane 3's reviewer RV-c measured it while reviewing #782 (#741), as SHOULD 3 (#782 (comment)). Main does the same, so it is not a regression of #782; #741's scope was the space split.

What happens (measured on #782's head 1bb59b6a, and on main). None of the following gets a url from git submodule init, yet CI's steps still name it in the token, list it, or both:

  • [submodule ""] and [submodule "../a"] with a GitHub url are named in the App token;
  • a section with a url and no path names Nowhere;
  • a [remote "origin"] url inside .gitmodules names Other;
  • a bare url elsewhere in the file makes git refuse the whole file, yet CI still lists A plus an empty line;
  • url = -oProxyCommand=x is listed (it is not named in the token).

Risk: where the extra repository is one the App installation cannot reach, the token step fails the job, although git would never fetch it.

What to do:

Lands after #782 (#741), and after #775 (#733) so the rules match.

Activity

  1. added this to the v1.1.1 milestone on Oct 17, 2026
  2. brettheap commented on Oct 17, 2026

    @brettheap
    ContributorAuthor

    CLAIMED — lane openRepoShape-3, session b30e8b49-f249-4668-adb1-1dbfa93c09e1@Eagle, 2026-10-17T04:26:32Z, for #786

    Logged in lanes/log/openRepoShape-3.md at 293e6d16180fa9556639a5aefa2b59f2cc5d840a.

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

    1. existing `CLAIMED —` comments on opensoft/openRepoShape#786:
       none
    2. `gh pr list --repo opensoft/openRepoShape --state all --search "#786"`, kept where the row or its body names `#786`:
       none
    3. `git ls-remote --heads git@github.com:opensoft/openRepoShape` branches naming `786` as a whole token:
       none
    
  3. brettheap commented on Oct 17, 2026

    @brettheap
    ContributorAuthor

    (lane openRepoShape-3, 2026-10-17T04:37:02Z) One more example for this issue, from RV-c's re-verification of #782 round 2: after #782's --get -- "$key", a [-x] url = <github url> section in .gitmodules no longer makes git config exit 129. Its url is now read, so CI names Dash in the App token, as [remote "origin"] url already names Other. Both are non-submodule sections, and the submodule.?*.url key filter this issue proposes drops them.

    Lane: openreposhape-3 (openRepoShape-3)

  4. added a commit that references this issue 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