Merge branch 'mh/packed-ref-store-prep'
commit711a11c301dafe84389624f009a2abfb7da5d83f
authorJunio C Hamano <gitster@pobox.com>
Mon, 5 Jun 2017 00:18:11 +0000 (5 09:18 +0900)
committerJunio C Hamano <gitster@pobox.com>
Mon, 5 Jun 2017 00:18:11 +0000 (5 09:18 +0900)
tree9a0b0317a7516cb09b3cc2cb7f14b1ca31f674ed
parent53083f8547cd45cdfabcf2f1bd21461cd6769189
parentf23092f19e73f5d8c3480ef02104af627a90361f
Merge branch 'mh/packed-ref-store-prep'

The implementation of "ref" API around the "packed refs" have been
cleaned up, in preparation for further changes.

* mh/packed-ref-store-prep: (25 commits)
  cache_ref_iterator_begin(): avoid priming unneeded directories
  ref-filter: limit traversal to prefix
  create_ref_entry(): remove `check_name` option
  refs_ref_iterator_begin(): handle `GIT_REF_PARANOIA`
  read_packed_refs(): report unexpected fopen() failures
  read_packed_refs(): do more of the work of reading packed refs
  get_packed_ref_cache(): assume "packed-refs" won't change while locked
  should_pack_ref(): new function, extracted from `files_pack_refs()`
  ref_update_reject_duplicates(): add a sanity check
  ref_update_reject_duplicates(): use `size_t` rather than `int`
  ref_update_reject_duplicates(): expose function to whole refs module
  ref_transaction_prepare(): new optional step for reference updates
  ref_transaction_commit(): check for valid `transaction->state`
  files_transaction_cleanup(): new helper function
  files_ref_store: put the packed files lock directly in this struct
  files-backend: move `lock` member to `files_ref_store`
  lockfile: add a new method, is_lock_file_locked()
  ref_store: take a `msg` parameter when deleting references
  refs: use `size_t` indexes when iterating over ref transaction updates
  refs_ref_iterator_begin(): don't check prefixes redundantly
  ...
builtin/remote.c
ref-filter.c