Merge branch 'ps/receive-use-only-advertised'
commitf8828f91256b5bc9731c313d59f8cd2d26901541
authorJunio C Hamano <gitster@pobox.com>
Wed, 23 Nov 2022 02:22:25 +0000 (23 11:22 +0900)
committerJunio C Hamano <gitster@pobox.com>
Wed, 23 Nov 2022 02:22:25 +0000 (23 11:22 +0900)
treeaee159d961fcd0af67d953e180bddac06e9cc2e4
parent173fc54b005c92dc0da0fe5e71034128eddbacc8
parentbcec6780b2ec77ea5f846d5448771f97110041e1
Merge branch 'ps/receive-use-only-advertised'

"git receive-pack" used to use all the local refs as the boundary for
checking connectivity of the data "git push" sent, but now it uses
only the refs that it advertised to the pusher. In a repository with
the .hideRefs configuration, this reduces the resources needed to
perform the check.
cf. <221028.86bkpw805n.gmgdl@evledraar.gmail.com>
cf. <xmqqr0yrizqm.fsf@gitster.g>

* ps/receive-use-only-advertised:
  receive-pack: only use visible refs for connectivity check
  rev-parse: add `--exclude-hidden=` option
  revision: add new parameter to exclude hidden refs
  revision: introduce struct to handle exclusions
  revision: move together exclusion-related functions
  refs: get rid of global list of hidden refs
  refs: fix memory leak when parsing hideRefs config
builtin/rev-list.c
revision.c
revision.h