Skip to content

Use HTTPS for the clearadi submodule URL#5

Open
gregakespret wants to merge 1 commit into
OpenBubbles:masterfrom
gregakespret:fix-clearadi-submodule-url-to-https
Open

Use HTTPS for the clearadi submodule URL#5
gregakespret wants to merge 1 commit into
OpenBubbles:masterfrom
gregakespret:fix-clearadi-submodule-url-to-https

Conversation

@gregakespret
Copy link
Copy Markdown

The clearadi submodule is declared with an SSH URL
(git@github.com:OpenBubbles/clearadi-stub.git). That breaks
cargo build for any downstream crate that depends on this repo
transitively, because Cargo's URL parser rejects the SSH form before
any fetch is attempted — and importantly, even setting
net.git-fetch-with-cli = true doesn't help, because URL parsing
happens before the fetch is delegated to system git.

Concrete failure mode (reproduced against current master via
thisiscam/rustpushOpenBubbles/apple-private-apis):

$ cargo build --release
error: failed to update submodule `apple-private-apis`

Caused by:
  failed to update submodule `clearadi`

Caused by:
  invalid url `git@github.com:OpenBubbles/clearadi-stub.git`:
  relative URL without a base; try using
  `ssh://git@github.com/OpenBubbles/clearadi-stub.git` instead

Since clearadi-stub is a public read-only repository, an HTTPS URL
is functionally equivalent for everyone and removes this friction
entirely. Anyone who prefers SSH for git operations can override
locally without affecting downstream crates:

git config url."git@github.com:".insteadOf "https://github.com/"

How was this tested

Cloned this repo recursively via system git after applying the change
clearadi-stub checks out cleanly without any authentication step.
Then built a downstream crate (thisiscam/export-findmy
thisiscam/rustpush) against this commit and confirmed cargo build
no longer errors on the submodule URL.

The `clearadi` submodule is declared with `git@github.com:...` in
`.gitmodules`. SSH URLs require key-based auth, which fails for anyone
without an authorised SSH key and breaks `cargo build` of crates that
recurse into this repo via Cargo's git fetcher (cargo's URL parser
rejects the SSH form before any fetch is attempted, even with
`net.git-fetch-with-cli = true`).

The clearadi-stub repo is public, so switching to its HTTPS URL is
equivalent for anyone with read access and removes the build-time
friction. Anyone who has SSH credentials and prefers them can override
locally with:

    git config url."git@github.com:".insteadOf "https://github.com/"

(or via `GIT_CONFIG_COUNT` env vars per invocation).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
gregakespret added a commit to gregakespret/rustpush that referenced this pull request May 25, 2026
OpenBubbles/apple-private-apis/.gitmodules declares its `clearadi`
sub-submodule with an SSH URL (`git@github.com:...`), which causes
`cargo build` of any crate that recurses into this repo to fail
because Cargo's URL parser rejects the SSH form before any fetch is
delegated to system git — even with `net.git-fetch-with-cli = true`.

gregakespret/apple-private-apis branch `fix-clearadi-submodule-url-to-https`
fixes that one-line URL and is the PR proposed upstream at
OpenBubbles/apple-private-apis#5. Until that lands, repoint our
submodule URL at the fork (the SHA also moves forward by one commit
that contains only the URL fix — no behavioural change).

Revert this commit (re-point URL at OpenBubbles + bump submodule SHA
back) once OpenBubbles/apple-private-apis#5 merges.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant