Merge branch 'mh/ref-directory-file' into next
commit38eb12264805caf333b5fc893c885241b02b09c4
authorJunio C Hamano <gitster@pobox.com>
Tue, 19 May 2015 20:40:08 +0000 (19 13:40 -0700)
committerJunio C Hamano <gitster@pobox.com>
Tue, 19 May 2015 20:40:08 +0000 (19 13:40 -0700)
tree4e0fd0755c1a0862e69b9c873196d32aaaa50d61
parenta2776d473c1bf2c94c81c35fcbc40b01dd660d16
parentc628edfddbf37eefab810a3107a2c32b45abaedc
Merge branch 'mh/ref-directory-file' into next

The ref API did not handle cases where 'refs/heads/xyzzy/frotz' is
removed at the same time as 'refs/heads/xyzzy' is added (or vice
versa) very well.

* mh/ref-directory-file:
  reflog_expire(): integrate lock_ref_sha1_basic() errors into ours
  ref_transaction_commit(): delete extra "the" from error message
  ref_transaction_commit(): provide better error messages
  rename_ref(): integrate lock_ref_sha1_basic() errors into ours
  lock_ref_sha1_basic(): improve diagnostics for ref D/F conflicts
  lock_ref_sha1_basic(): report errors via a "struct strbuf *err"
  verify_refname_available(): report errors via a "struct strbuf *err"
  verify_refname_available(): rename function
  refs: check for D/F conflicts among refs created in a transaction
  ref_transaction_commit(): use a string_list for detecting duplicates
  is_refname_available(): use dirname in first loop
  struct nonmatching_ref_data: store a refname instead of a ref_entry
  report_refname_conflict(): inline function
  entry_matches(): inline function
  is_refname_available(): convert local variable "dirname" to strbuf
  is_refname_available(): avoid shadowing "dir" variable
  is_refname_available(): revamp the comments
  t1404: new tests of ref D/F conflicts within transactions
refs.c