Merge branch 'jk/ambiguous-short-object-names'
commit66c22ba6fbe0724ecce3d82611ff0ec5c2b0255f
authorJunio C Hamano <gitster@pobox.com>
Thu, 6 Oct 2016 21:53:10 +0000 (6 14:53 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 6 Oct 2016 21:53:10 +0000 (6 14:53 -0700)
tree8829eb1f019a57f5bdd3743d081e0751f38340c9
parent0cf36115dce7438a0eafad54a81cc57175e8fb54
parent5b33cb1fd733f581da07ae8afa7e9547eafd248e
Merge branch 'jk/ambiguous-short-object-names'

When given an abbreviated object name that is not (or more
realistically, "no longer") unique, we gave a fatal error
"ambiguous argument".  This error is now accompanied by hints that
lists the objects that begins with the given prefix.  During the
course of development of this new feature, numerous minor bugs were
uncovered and corrected, the most notable one of which is that we
gave "short SHA1 xxxx is ambiguous." twice without good reason.

* jk/ambiguous-short-object-names:
  get_short_sha1: make default disambiguation configurable
  get_short_sha1: list ambiguous objects on error
  for_each_abbrev: drop duplicate objects
  sha1_array: let callbacks interrupt iteration
  get_short_sha1: mark ambiguity error for translation
  get_short_sha1: NUL-terminate hex prefix
  get_short_sha1: refactor init of disambiguation code
  get_short_sha1: parse tags when looking for treeish
  get_sha1: propagate flags to child functions
  get_sha1: avoid repeating ourselves via ONLY_TO_DIE
  get_sha1: detect buggy calls with multiple disambiguators
cache.h