Skip to contentSkip to conversation

git-http-push improvements

PATCH New Nick Hengeveld 1 participant 1 message Jun 15, 2016

lore
Share & tools
lore
#0 lore raw

cover 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.