git-http-push improvements
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest4 patches 0 repliesNew
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/4 | Verify remote packs, speed up pending request queuehttp-push.c | +21 | 0 replies | |
| 2/4 | Support remote references with slashes in their nameshttp-push.c | +39 | 0 replies | |
| 3/4 | Improve lock handlinghttp-push.c | +147 | 0 replies | |
| 4/4 | Refresh the remote lock if it is about to expirehttp-push.c | +79 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
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.