Skip to content

adopt-project.py: under a one-byte locale such as Latin-1, a plan written in UTF-8 is asked only as written, so a source that is there is plan-source-gone; ask its UTF-8 bytes too when the first spelling names nothing #1078

Open

Description

@brettheap

Found by lane 3's independent review of #1072 (RV1072, #1072 issuecomment-6301724552). It is outside #918's L1-86, which #1072 fixes for the C and POSIX locales.

What happens. adopt-project.py check reads source.local_path from a plan that was written in UTF-8.

Not measured here: no one-byte locale is installed on this host (locale -a gives C, C.utf8 and POSIX). The reading above comes from the code at #1072's head (_recorded_spelling).

Direction: when the first spelling names nothing, ask the plan's UTF-8 bytes too, before refusing plan-source-gone. Measure it under a Latin-1 locale on a host that has one.

Lane: openreposhape-3 (openRepoShape-3)

Activity

  1. brettheap commented on Oct 21, 2026

    @brettheap
    ContributorAuthor

    CLAIMED — lane openRepoShape-3, session b30e8b49-f249-4668-adb1-1dbfa93c09e1@Eagle, 2026-10-21T10:38:21Z, for #1078

    Logged in lanes/log/openRepoShape-3.md at 526087a0a3d3a939b8bfff56cc917d500d234d85.

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

    1. existing `CLAIMED —` comments on opensoft/openRepoShape#1078:
       none
    2. `gh pr list --repo opensoft/openRepoShape --state all --search "#1078"`, kept where the row or its body names `#1078`:
    1072	adopt-project.py and family.py: a source this user cannot enter is `source-unreadable`, a UTF-8 plan reads its source under the C locale, and a member on a branch that is not UTF-8 is put back on it (#918)	l3-918-source-and-locale	MERGED
    3. `git ls-remote --heads git@github.com:opensoft/openRepoShape` branches naming `1078` 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