Skip to content
  • Junio C Hamano's avatar
    Merge branch 'mh/ref-transaction' · 2cc70cef
    Junio C Hamano authored
    Update "update-ref --stdin [-z]" and then introduce a transactional
    support for (multi-)reference updates.
    
    * mh/ref-transaction: (27 commits)
      ref_transaction_commit(): work with transaction->updates in place
      struct ref_update: add a type field
      struct ref_update: add a lock field
      ref_transaction_commit(): simplify code using temporary variables
      struct ref_update: store refname as a FLEX_ARRAY
      struct ref_update: rename field "ref_name" to "refname"
      refs: remove API function update_refs()
      update-ref --stdin: reimplement using reference transactions
      refs: add a concept of a reference transaction
      update-ref --stdin: harmonize error messages
      update-ref --stdin: improve the error message for unexpected EOF
      t1400: test one mistake at a time
      update-ref --stdin -z: deprecate interpreting the empty string as zeros
      update-ref.c: extract a new function, parse_next_sha1()
      t1400: test that stdin -z update treats empty <newvalue> as zeros
      update-ref --stdin: simplify error messages for missing oldvalues
      update-ref --stdin: make error messages more consistent
      update-ref --stdin: improve error messages for invalid values
      update-ref.c: extract a new function, parse_refname()
      parse_cmd_verify(): copy old_sha1 instead of evaluating <oldvalue> twice
      ...
    2cc70cef