Hi, This series has been posted before[1], but is now rebased on the previous ref-transaction-rename. It can also be found at github[2] and googlesource[3] This series finishes the transaction work to provide atomic pushes. With this series we can now perform atomic pushes to a repository. Version 2: - Reordered the capabilities we send so that agent= remains the last capability listed. - Reworded the paragraph for atomic push in git-send-pack.txt - Dropped the patch for receive.preferatomicpush Version 3: - Fix a typo in a commit message. Version 4: * As Ronnie announced to change employers soon, he'll have only limited time to work on git in the near future. As this is a rather large patch series, he is handing this work over to me. That's why I'm sending the patches this time. [1] http://www.spinics.net/lists/git/msg241365.html [2] https://github.com/stefanbeller/git/tree/ref-transactions-send-pack [3] https://code-review.googlesource.com/#/q/topic:ref-transaction-sendpack Thanks, Stefan Ronnie Sahlberg (7): receive-pack.c: add protocol support to negotiate atomic-push send-pack.c: add an --atomic-push command line argument receive-pack.c: use a single transaction when atomic-push is negotiated push.c: add an --atomic-push argument t5543-atomic-push.sh: add basic tests for atomic pushes refs.c: add an err argument to create_reflog refs.c: add an err argument to create_symref Documentation/git-push.txt | 7 +- Documentation/git-send-pack.txt | 7 +- Documentation/technical/protocol-capabilities.txt | 12 ++- builtin/branch.c | 7 +- builtin/checkout.c | 21 +++-- builtin/clone.c | 15 +++- builtin/init-db.c | 8 +- builtin/notes.c | 7 +- builtin/push.c | 2 + builtin/receive-pack.c | 79 +++++++++++++---- builtin/remote.c | 26 ++++-- builtin/send-pack.c | 6 +- builtin/symbolic-ref.c | 6 +- cache.h | 1 - refs.c | 93 ++++++++++---------- refs.h | 5 +- remote.h | 3 +- send-pack.c | 45 ++++++++-- send-pack.h | 1 + t/t5543-atomic-push.sh | 101 ++++++++++++++++++++++ transport.c | 5 ++ transport.h | 1 + 22 files changed, 358 insertions(+), 100 deletions(-) create mode 100755 t/t5543-atomic-push.sh -- 2.2.0.rc2.5.gf7b9fb2 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html