Merge branch 'mh/ref-api'
commit5e69491bf2a1be730ff73c2ce4c0ebd1f9e412c9
authorJunio C Hamano <gitster@pobox.com>
Tue, 24 Apr 2012 21:40:28 +0000 (24 14:40 -0700)
committerJunio C Hamano <gitster@pobox.com>
Tue, 24 Apr 2012 21:40:28 +0000 (24 14:40 -0700)
tree82a93603c5997d34489739cd4f534dc30c58ee95
parent419f2ecf7894726773f7ea5620741ce8ec60e553
parent933ac036d29e65e1b3d71332d9ade8edd1e8a89b
Merge branch 'mh/ref-api'

Allows walking only a sub-hierarchy in refs/*.

By Michael Haggerty
* mh/ref-api:
  do_for_each_ref(): only iterate over the subtree that was requested
  refs: store references hierarchically
  sort_ref_dir(): simplify logic
  refs.c: rename ref_array -> ref_dir
  struct ref_entry: nest the value part in a union
  check_refname_component(): return 0 for zero-length components
  free_ref_entry(): new function
  names_conflict(): simplify implementation
  repack_without_ref(): reimplement using do_for_each_ref_in_array()
  do_for_each_ref_in_arrays(): new function
  do_for_each_ref_in_array(): new function
  refs: manage current_ref within do_one_ref()
  refs.c: reorder definitions more logically