From: Ted Nyman Date: Mon, 13 Jul 2026 22:37:58 GMT Subject: [PATCH 0/2] packfile URIs: support concurrent downloads Message-ID: Packfile URI downloads currently stage a pack at objects/pack/pack-.pack.temp. Two Git processes fetching the same pack into one object database can append to that file concurrently, which can corrupt the temporary pack or cause a resume request at EOF. The first patch gives each direct packfile URI download a private temporary file. Ordinary dumb HTTP pack requests retain their existing resumable staging behavior. A later packfile URI retry starts a new download. The second patch handles the related .keep race. When another process has already created the keep file, index-pack reports "pack" instead of "keep". Accept both successful forms and remove only keep files created by the current process. Each patch adds a regression test for its respective race. Ted Nyman (2): http: use unique tempfiles for packfile URI downloads fetch-pack: accept "pack" output for packfile URIs Documentation/git-http-fetch.adoc | 5 +- fetch-pack.c | 36 ++++++++------- http.c | 77 +++++++++++++++++++++---------- http.h | 1 + t/t5550-http-fetch-dumb.sh | 72 ++++++++++++++++++++++++++++- t/t5702-protocol-v2.sh | 31 +++++++++++++ 6 files changed, 177 insertions(+), 45 deletions(-) base-commit: e9019fcafe0040228b8631c30f97ae1adb61bcdc -- 2.55.0