Skip to content

adopt-project.py: _github_name takes an owner over 39 characters or a repository over 100, so plan asks gh to clone a name GitHub cannot hold, and offers its URL beside an unsearchable directory (RV1122's NIT-1 on #1122) #1129

Open

Description

@brettheap

(lane openRepoShape-4, 2026-10-21T15:17:59Z)

RV1122's review of #1122 (#1003) at e75587e7 (#1122 issuecomment-6319493639) found this as its NIT-1, outside #1003's words. #1003 is about a part too long for the disk. This is a part that fits on the disk but is past GitHub's limits: GitHub holds an owner (a user or an organization) of at most 39 characters, and a repository name of at most 100.

  1. With nothing on disk, plan asks gh for a name GitHub cannot hold. plan --source <50 b's>/Thing --org <50 b's> calls gh repo clone once, on main and on adopt-project.py: an org/repo --source too long for the disk is refused as a path is, naming no GitHub repository and offering no url, so --source <300 a's>/Thing is no longer offered https://github.com/<300 a's>/Thing, which can never clone (#1003) #1122's head alike. With --org testorg, the remedy tells the user to pass --org <50 b's>.
  2. Beside a directory this user cannot search, the remedy offers a URL that can never clone, for an owner of 40 to 255 characters or a repository of 101 to 255. adopt-project.py: an org/repo --source too long for the disk is refused as a path is, naming no GitHub repository and offering no url, so --source <300 a's>/Thing is no longer offered https://github.com/<300 a's>/Thing, which can never clone (#1003) #1122's fix round ends this case in _source_there, by guarding on GitHub's limits there.

Fix: have _github_name reject an owner over 39 characters or a repository over 100, so that every reader of the GitHub reading gets the same answer. That also covers Windows, where no error maps to ENAMETOOLONG.

Lane: openreposhape-4 (openRepoShape-4)

Activity

  1. brettheap commented on Oct 22, 2026

    @brettheap
    ContributorAuthor

    CLAIMED — lane openRepoShape-4, session 11c6c0ef-495a-4a05-94cf-811b7b0a1012@Eagle, 2026-10-22T19:51:45Z, for #1129

    Logged in lanes/log/openRepoShape-4.md at 19bda7873c9041fdd8fc4f9ece82b9a0c00114a1.

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

    1. existing `CLAIMED —` comments on opensoft/openRepoShape#1129:
       none
    2. `gh pr list --repo opensoft/openRepoShape --state all --search "#1129"`, kept where the row or its body names `#1129`:
    1122	adopt-project.py: an `org/repo` `--source` too long for the disk is refused as a path is, naming no GitHub repository and offering no url, so `--source <300 a's>/Thing` is no longer offered `https://github.com/<300 a's>/Thing`, which can never clone (#1003)	fix/1003-adopt-unenterable-source	OPEN
    1155	docs/release-notes/v1.2.0.md: the v1.2.0 release notes, a first draft for Brett Heap to amend before the tag	docs/v1.2.0-release-notes	MERGED
    3. `git ls-remote --heads git@github.com:opensoft/openRepoShape` branches naming `1129` as a whole token:
       none
    
  2. added this to the v1.2.1 milestone on Oct 23, 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