Route non-native URL schemes through git remote helpers · Entire
Route non-native URL schemes through git remote helpers
addab0b→main·
Soph·4w ago·1 file·+12 added/-0 removed
newConn now checks for a git-remote-
Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com
Sessions
b8f20408aa93View transcript
[?
❯ GITSYNC_MAX_REF_UPDATES_PER_PUSH=5000 go run ./cmd/git-sync replicate --all-refs --stats --verbose \Claude Code·Opus 4.8[1m]·3 steps](/content/gh/entireio/git-sync/session/4f8f5e9b-9f90-4c22-88b9-988c55f45833#timeline-b8f20408aa93/index.html)
Changes
1
internal/syncer
Msyncer.go+12
363 unmodified lines
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
363 unmodified lines
}
return conn, nil
}
// Schemes git-sync has no native transport for (e.g. entire://) are handed
// to a git remote helper named git-remote-<scheme>, if one is installed.
// The helper owns auth and the network round trips; git-sync drives the
// smart protocol over its stateless-connect bridge. http/https are excluded
// so we never divert them away from the optimized native HTTP transport
// (git ships its own git-remote-http(s)).
if ep.Scheme != "http" && ep.Scheme != "https" {
if helperPath, ok := gitproto.LookupRemoteHelper(ep.Scheme); ok {
stats.setSideDisplay(label, hostnameFromURL(raw.URL))
return gitproto.NewHelperConn(helperPath, ep, raw.URL, label), nil
}
}
authEp := auth.Endpoint{
Username: raw.Username,
Token: raw.Token,
Minternal/syncer/syncer.go+12