Increase git-remote-entire Timeout Default · Entire

when cloning or fetching an Entire repo via git-remote-entire, every so often i hit a timeout on the initial "which nodes serve this repo" request. That kinda sucks. I think we should loosen the default timeout a bit, maybe, say, 10s?


What I changed

The flaky timeout was the 2s TCP connect budget (DefaultDialTimeout), which is shared between the cold "which nodes serve this repo" probe and dead-node failover. Per your choice, I split them rather than slowing failover down.

Behavior

Tests

Not committed — yours to push. One judgment call worth flagging: I scoped this to the replica discovery probe (the X-Entire-Replicas info/refs path), matching your wording. The cluster /.well-known discovery in git-remote-entire's auth path is also a cold connect on a 2s dial, but it's cached 24h and wasn't what you described — say the word if you want it on the 10s budget too.


never returns less than 10s

I think if a user sets ENTIRE_CONNECT_TIMEOUT_SECONDS (use os.LookupEnv to check) we should use that timeout value for all timeouts, not just one or the other, or apply a minimum.

Let's also turn the 2s default into 4s default. I have had trouble pushing when on satellite internet (no nodes respond <2s).


Summary of this round

1. Env override now applies to all connect timeouts (os.LookupEnv) — internal/entireclient/httpclient/transport.go

2. Default dial timeout 2s → 4s — for your satellite-internet push problem.

3. /.well-known cluster discovery now uses the patient budget — cmd/git-remote-entire/main.go

Net behavior (no env override)

Tests updated (TestDiscoveryDialTimeout now asserts override-wins, incl. below-default); lint clean, full unit suite passes (6581). Not committed.


make a new branch off main and commit this.


Committed on a new branch off main.

fcc4748