Re: [PATCH v3 00/27] Clean up update-refs --stdin and implement ref_transaction
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