Exclude URL-keyed promisor entries from git fetch --all
main·
Commit

Every filtered checkpoint fetch from a URL leaves a remote.<url> promisor config section behind (git needs it for lazy object fetches), and git treats each one as a fetchable remote: git fetch --all and git remote update dial every checkpoint URL ever fetched from, including dead mirror hosts and SSH github URLs. Stamp skipFetchAll/skipDefaultUpdate on the entry right after a filtered URL fetch so bulk fetches skip it while lazy fetches keep working. Gated on git having actually written the promisor entry, so no section is invented for unfiltered fetches.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com