Skip to content

git-http-push improvements

Nick Hengeveld git 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest4 patches 0 repliesNew

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/4Verify remote packs, speed up pending request queuehttp-push.c+21 -160 replies
2/4Support remote references with slashes in their nameshttp-push.c+39 -30 replies
3/4Improve lock handlinghttp-push.c+147 -540 replies
4/4Refresh the remote lock if it is about to expirehttp-push.c+79 -270 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/4] git-http-push improvements

This series of patches makes HTTP/DAV pushes more stable. Locks are handled much better and are refreshed if they are about to expire, and remote refs with '/' in their names are supported.

Items still on my todo list:

- Process the server's lock refresh timeout response (currently it assumes that the original lock timeout will continue to work.)
- Verify remote commit object if branches are the same (currently it does no verification if the refs point to the same object.)
- Clean up temp filenames after failed PUTs (no need to leave them there since you can't resume.)
- Either send compressed objects directly rather than uncompressing and recompressing them before sending; or since we have an uncompressed copy, also verify the SHA1 before sending since the remote doesn't verify (and/or consider read after write verification.)
- Use a pack to send under what circumstances? Perhaps allow min-pack-size and max-pack-size (more objects == less impact on failed transfer, more transfer overhead.)
- Attempt recovery if the remote ref PUT fails?
- Test against other DAV servers (I've currently tested it using only Apache.)

Signature · 2 lines
For a successful technology, reality must take precedence over public
relations, for nature cannot be fooled.