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

Re: [PATCH v3 00/27] Clean up update-refs --stdin and implement ref_transaction

From
Ronnie Sahlberg <sahlberg@google.com>
Date
Apr 11, 2014, 19:57 UTC
Message-ID
<CAL=YDWkjNm-pt2dUsg3Dbtbb1Xi2v3XAP8231g1bxsWF6LHRhQ@mail.gmail.com>
In-Reply-To
<1396878498-19887-1-git-send-email-mhagger@alum.mit.edu>
Nice.
Once this is in I can add transactional support to receive-pack.
On Mon, Apr 7, 2014 at 6:47 AM, Michael Haggerty <mhagger@alum.mit.edu> wrote:
Show 83 quoted lines
> Here is v3.  It is also available on GitHub [1].
>
> Thanks to Junio and Brad for their comments about v2.  I think I have
> addressed all of your comments (except for Junio's regrets that the
> series didn't include a transactional receive-pack).
>
> See the mailing list threads about v1 [2] and v2 [3] and the
> longer-term goals of this campaign [4].
>
> Changes since v2:
>
> * Rebased to current master (there were no conflicts)
>
> * Don't allow ref_transation_create() with new_sha1 set to zeros.
>
> * Don't allow ref_transation_delete() with old_sha1 set to zeros.
>
> * Fixed subject lines to use lower-case after the colon.
>
> * Expanded a few commit messages, fixed a comment, and removed some
>   "squash" detritus in a commit message.
>
> Cheers,
> Michael
>
> [1] https://github.com/mhagger/git, branch ref-transactions
> [2] http://thread.gmane.org/gmane.comp.version-control.git/243731
> [3] http://thread.gmane.org/gmane.comp.version-control.git/244857
> [4] http://article.gmane.org/gmane.comp.version-control.git/243726
>
> Michael Haggerty (27):
>   t1400: fix name and expected result of one test
>   t1400: provide more usual input to the command
>   parse_arg(): really test that argument is properly terminated
>   t1400: add some more tests involving quoted arguments
>   refs.h: rename the action_on_err constants
>   update_refs(): fix constness
>   update-ref --stdin: read the whole input at once
>   parse_cmd_verify(): copy old_sha1 instead of evaluating <oldvalue>
>     twice
>   update-ref.c: extract a new function, parse_refname()
>   update-ref --stdin: improve error messages for invalid values
>   update-ref --stdin: make error messages more consistent
>   update-ref --stdin: simplify error messages for missing oldvalues
>   t1400: test that stdin -z update treats empty <newvalue> as zeros
>   update-ref.c: extract a new function, parse_next_sha1()
>   update-ref --stdin -z: deprecate interpreting the empty string as
>     zeros
>   t1400: test one mistake at a time
>   update-ref --stdin: improve the error message for unexpected EOF
>   update-ref --stdin: harmonize error messages
>   refs: add a concept of a reference transaction
>   update-ref --stdin: reimplement using reference transactions
>   refs: remove API function update_refs()
>   struct ref_update: rename field "ref_name" to "refname"
>   struct ref_update: store refname as a FLEX_ARRAY
>   ref_transaction_commit(): simplify code using temporary variables
>   struct ref_update: add a lock field
>   struct ref_update: add a type field
>   ref_transaction_commit(): work with transaction->updates in place
>
>  Documentation/git-update-ref.txt       |  18 +-
>  builtin/checkout.c                     |   2 +-
>  builtin/clone.c                        |   9 +-
>  builtin/merge.c                        |   6 +-
>  builtin/notes.c                        |   6 +-
>  builtin/reset.c                        |   6 +-
>  builtin/update-ref.c                   | 425 ++++++++++++++++++++-------------
>  contrib/examples/builtin-fetch--tool.c |   3 +-
>  notes-cache.c                          |   2 +-
>  notes-utils.c                          |   3 +-
>  refs.c                                 | 195 +++++++++++----
>  refs.h                                 |  94 ++++++--
>  t/t1400-update-ref.sh                  | 100 +++++---
>  13 files changed, 585 insertions(+), 284 deletions(-)
>
> --
> 1.9.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous: Michael Haggerty
Message 34 of 34 in “Clean up update-refs --stdin and implement ref_transaction”
  1. 00/27 Clean up update-refs --stdin and implement ref_transactionMichael Haggerty, Apr 7, 2014
  2. 01/27 t1400: fix name and expected result of one testMichael Haggerty, Apr 7, 2014
  3. 02/27 t1400: provide more usual input to the commandMichael Haggerty, Apr 7, 2014
  4. 03/27 parse_arg(): really test that argument is properly terminatedMichael Haggerty, Apr 7, 2014
  5. 04/27 t1400: add some more tests involving quoted argumentsMichael Haggerty, Apr 7, 2014
  6. 05/27 refs.h: rename the action_on_err constantsMichael Haggerty, Apr 7, 2014
  7. 06/27 update_refs(): fix constnessMichael Haggerty, Apr 7, 2014
  8. 07/27 update-ref --stdin: read the whole input at onceMichael Haggerty, Apr 7, 2014
  9. 08/27 parse_cmd_verify(): copy old_sha1 instead of evaluating <oldvalue> twiceMichael Haggerty, Apr 7, 2014
  10. 09/27 update-ref.c: extract a new function, parse_refname()Michael Haggerty, Apr 7, 2014
  11. 10/27 update-ref --stdin: improve error messages for invalid valuesMichael Haggerty, Apr 7, 2014
  12. 11/27 update-ref --stdin: make error messages more consistentMichael Haggerty, Apr 7, 2014
  13. 12/27 update-ref --stdin: simplify error messages for missing oldvaluesMichael Haggerty, Apr 7, 2014
  14. 13/27 t1400: test that stdin -z update treats empty <newvalue> as zerosMichael Haggerty, Apr 7, 2014
  15. 14/27 update-ref.c: extract a new function, parse_next_sha1()Michael Haggerty, Apr 7, 2014
  16. 15/27 update-ref --stdin -z: deprecate interpreting the empty string as zerosMichael Haggerty, Apr 7, 2014
  17. 16/27 t1400: test one mistake at a timeMichael Haggerty, Apr 7, 2014
  18. 17/27 update-ref --stdin: improve the error message for unexpected EOFMichael Haggerty, Apr 7, 2014
  19. 18/27 update-ref --stdin: harmonize error messagesMichael Haggerty, Apr 7, 2014
  20. 19/27 refs: add a concept of a reference transactionMichael Haggerty, Apr 7, 2014
  21. Junio C HamanoApr 7, 2014
  22. Michael HaggertyApr 14, 2014
  23. Junio C HamanoApr 14, 2014
  24. Michael HaggertyApr 15, 2014
  25. Junio C HamanoApr 15, 2014
  26. 20/27 update-ref --stdin: reimplement using reference transactionsMichael Haggerty, Apr 7, 2014
  27. 21/27 refs: remove API function update_refs()Michael Haggerty, Apr 7, 2014
  28. 22/27 struct ref_update: rename field "ref_name" to "refname"Michael Haggerty, Apr 7, 2014
  29. 23/27 struct ref_update: store refname as a FLEX_ARRAYMichael Haggerty, Apr 7, 2014
  30. 24/27 ref_transaction_commit(): simplify code using temporary variablesMichael Haggerty, Apr 7, 2014
  31. 25/27 struct ref_update: add a lock fieldMichael Haggerty, Apr 7, 2014
  32. 26/27 struct ref_update: add a type fieldMichael Haggerty, Apr 7, 2014
  33. 27/27 ref_transaction_commit(): work with transaction->updates in placeMichael Haggerty, Apr 7, 2014
  34. Ronnie SahlbergApr 11, 2014

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.