git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCHv12 00/10] atomic pushes

From
Stefan Beller <sbeller@google.com>
Date
Jan 8, 2015, 03:23 UTC
Message-ID
<1420687404-13997-1-git-send-email-sbeller@google.com>

There wasn't discussion within the last 24 hours and we were discussing only about minor changes. Changes compared to v9 (the last time I completely sent the series) is only found in the first 2 patches, where we had a back and forth about naming the method warn_if_skipped_connectivity_check and its behavior. I'm mainly sending this as a whole series, so Junio can pick it up easier as opposed to finding the latest version of each patch himself.

This patch series adds a flag to git push to update the remote refs atomically. This series applies on top of origin/mh/reflog-expire It can also be found at https://github.com/stefanbeller/git/tree/atomic-push-v12

Any comment is welcome!

Thanks, Stefan

Ronnie Sahlberg (3):
  receive-pack.c: negotiate atomic push support
  send-pack.c: add --atomic command line argument
  push.c: add an --atomic argument
Stefan Beller (7):
  receive-pack.c: shorten the execute_commands loop over all commands
  receive-pack.c: die instead of error in case of possible future bug
  receive-pack.c: move iterating over all commands outside
    execute_commands
  receive-pack.c: move transaction handling in a central place
  receive-pack.c: add execute_commands_atomic function
  send-pack: rename ref_update_to_be_sent to check_to_send_update
  t5543-atomic-push.sh: add basic tests for atomic pushes
 Documentation/git-push.txt                        |   7 +-
 Documentation/git-send-pack.txt                   |   7 +-
 Documentation/technical/protocol-capabilities.txt |  13 +-
 builtin/push.c                                    |   5 +
 builtin/receive-pack.c                            | 165 ++++++++++++++----
 builtin/send-pack.c                               |   6 +-
 remote.h                                          |   3 +-
 send-pack.c                                       |  65 +++++++-
 send-pack.h                                       |   3 +-
 t/t5543-atomic-push.sh                            | 194 ++++++++++++++++++++++
 transport.c                                       |   5 +
 transport.h                                       |   1 +
 12 files changed, 424 insertions(+), 50 deletions(-)
 create mode 100755 t/t5543-atomic-push.sh
-- 
2.2.1.62.g3f15098
Next: Stefan Beller
Message 1 of 17 in “[PATCHv12 00/10] atomic pushes”
  1. Stefan BellerJan 8, 2015
  2. 01/10 receive-pack.c: shorten the execute_commands loop over all commandsStefan Beller, Jan 8, 2015
  3. 02/10 receive-pack.c: die instead of error in case of possible future bugStefan Beller, Jan 8, 2015
  4. 03/10 receive-pack.c: move iterating over all commands outside execute_commandsStefan Beller, Jan 8, 2015
  5. 04/10 receive-pack.c: move transaction handling in a central placeStefan Beller, Jan 8, 2015
  6. 05/10 receive-pack.c: add execute_commands_atomic functionStefan Beller, Jan 8, 2015
  7. 06/10 receive-pack.c: negotiate atomic push supportStefan Beller, Jan 8, 2015
  8. Junio C HamanoJan 8, 2015
  9. Eric SunshineJan 12, 2015
  10. Stefan BellerJan 12, 2015
  11. Junio C HamanoJan 13, 2015
  12. 07/10 send-pack: rename ref_update_to_be_sent to check_to_send_updateStefan Beller, Jan 8, 2015
  13. 08/10 send-pack.c: add --atomic command line argumentStefan Beller, Jan 8, 2015
  14. Junio C HamanoJan 12, 2015
  15. 09/10 push.c: add an --atomic argumentStefan Beller, Jan 8, 2015
  16. 10/10 t5543-atomic-push.sh: add basic tests for atomic pushesStefan Beller, Jan 8, 2015
  17. Eric SunshineJan 12, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.