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

[PATCH 0/2] update-ref: Allow creation of multiple transactions

From
Patrick Steinhardt <ps@pks.im>
Date
Nov 4, 2020, 14:57 UTC
Message-ID
<cover.1604501265.git.ps@pks.im>
Hi,

A few months back, I've implemented a more interactive protocol for `git-update-ref --stdin`, which converted it to read commands linewise and allow for more control via a set of new controlling commands. One thing that was noticeably missing was the ability to create multiple transactions in a single git-update-ref invocation.

As Peff rightly pointed out a few months back, we're actually almost there to have that. So I took a look today and finally decided to implement it while I was busy implementing another series. And in fact, it really didn't require a lof of changes.

So with this small series, it's now possible to start new transaction after the current transaction has either been committed or aborted. E.g. sessions like the following are now possible:

    > start
    start: ok
    > create refs/heads/test $A
    > commit
    commit: ok
    > start
    start: ok
    > update refs/heads/test $B $A
    > commit
    commit: ok
    > start
    start: ok
    > update refs/heads/test $A $B
    > abort
    abort: ok
    > start
    start: ok
    > delete refs/heads/test $B
    > commit
    commit: ok

I've also updated the performance test in p1400 to use this new mechanism, which is a much more direct way to test what we want to test in there compared to using not-atomic pushes.

Patrick
Patrick Steinhardt (2):
  update-ref: Allow creation of multiple transactions
  p1400: Use `git-update-ref --stdin` to test multiple transactions
 Documentation/git-update-ref.txt |  3 +-
 builtin/update-ref.c             | 13 ++++++++-
 t/perf/p1400-update-ref.sh       | 20 +++++--------
 t/t1400-update-ref.sh            | 50 ++++++++++++++++++++++++++++++++
 4 files changed, 71 insertions(+), 15 deletions(-)
-- 
2.29.2
Next: Patrick Steinhardt
Message 1 of 41 in “update-ref: Allow creation of multiple transactions”
  1. 0/2 update-ref: Allow creation of multiple transactionsPatrick Steinhardt, Nov 4, 2020
  2. 1/2 update-ref: Allow creation of multiple transactionsPatrick Steinhardt, Nov 4, 2020
  3. Jeff KingNov 5, 2020
  4. Junio C HamanoNov 5, 2020
  5. Jeff KingNov 6, 2020
  6. Junio C HamanoNov 6, 2020
  7. Patrick SteinhardtNov 6, 2020
  8. 2/2 p1400: Use `git-update-ref --stdin` to test multiple transactionsPatrick Steinhardt, Nov 4, 2020
  9. Jeff KingNov 5, 2020
  10. 0/4 update-ref: Allow creation of multiple transactionsPatrick Steinhardt, Nov 9, 2020
  11. 1/4 t1400: Avoid touching refs on filesystemPatrick Steinhardt, Nov 9, 2020
  12. Junio C HamanoNov 9, 2020
  13. Jeff KingNov 9, 2020
  14. Patrick SteinhardtNov 10, 2020
  15. Junio C HamanoNov 10, 2020
  16. 2/4 update-ref: Allow creation of multiple transactionsPatrick Steinhardt, Nov 9, 2020
  17. 3/4 p1400: Use `git-update-ref --stdin` to test multiple transactionsPatrick Steinhardt, Nov 9, 2020
  18. 4/4 update-ref: Disallow restart of ongoing transactionsPatrick Steinhardt, Nov 9, 2020
  19. Junio C HamanoNov 9, 2020
  20. Jeff KingNov 9, 2020
  21. Junio C HamanoNov 9, 2020
  22. 0/4 update-ref: allow creation of multiple transactionsPatrick Steinhardt, Nov 11, 2020
  23. 1/4 t1400: avoid touching refs on filesystemPatrick Steinhardt, Nov 11, 2020
  24. SZEDER GáborNov 11, 2020
  25. Patrick SteinhardtNov 11, 2020
  26. SZEDER GáborNov 11, 2020
  27. Jeff KingNov 11, 2020
  28. Patrick SteinhardtNov 13, 2020
  29. 2/4 update-ref: allow creation of multiple transactionsPatrick Steinhardt, Nov 11, 2020
  30. 3/4 p1400: use `git-update-ref --stdin` to test multiple transactionsPatrick Steinhardt, Nov 11, 2020
  31. 4/4 update-ref: disallow "start" for ongoing transactionsPatrick Steinhardt, Nov 11, 2020
  32. 0/4 update-ref: allow creation of multiple transactionsPatrick Steinhardt, Nov 13, 2020
  33. 1/4 t1400: avoid touching refs on filesystemPatrick Steinhardt, Nov 13, 2020
  34. Jeff KingNov 13, 2020
  35. Patrick SteinhardtNov 18, 2020
  36. Junio C HamanoNov 18, 2020
  37. 2/4 update-ref: allow creation of multiple transactionsPatrick Steinhardt, Nov 13, 2020
  38. 3/4 p1400: use `git-update-ref --stdin` to test multiple transactionsPatrick Steinhardt, Nov 13, 2020
  39. 4/4 update-ref: disallow "start" for ongoing transactionsPatrick Steinhardt, Nov 13, 2020
  40. Junio C HamanoNov 25, 2020
  41. Jeff KingNov 26, 2020

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.