]> git.ipfire.org Git - thirdparty/git.git/commit
Merge branch 'vd/for-each-ref-unsorted-optimization'
authorJunio C Hamano <gitster@pobox.com>
Sun, 10 Dec 2023 00:37:50 +0000 (16:37 -0800)
committerJunio C Hamano <gitster@pobox.com>
Sun, 10 Dec 2023 00:37:50 +0000 (16:37 -0800)
commit98d0a1f93e869b29041de9122fe31a62c40a4e78
tree91b04459a87509efef99f4bb4098245ad0dd8a33
parente020e55a62dc3281504858d4091847d18ca63b2d
parent294bfc24418e81dfb204d14a3c3c24af9b195179
Merge branch 'vd/for-each-ref-unsorted-optimization'

"git for-each-ref --no-sort" still sorted the refs alphabetically
which paid non-trivial cost.  It has been redefined to show output
in an unspecified order, to allow certain optimizations to take
advantage of.

* vd/for-each-ref-unsorted-optimization:
  t/perf: add perf tests for for-each-ref
  ref-filter.c: use peeled tag for '*' format fields
  for-each-ref: clean up documentation of --format
  ref-filter.c: filter & format refs in the same callback
  ref-filter.c: refactor to create common helper functions
  ref-filter.c: rename 'ref_filter_handler()' to 'filter_one()'
  ref-filter.h: add functions for filter/format & format-only
  ref-filter.h: move contains caches into filter
  ref-filter.h: add max_count and omit_empty to ref_format
  ref-filter.c: really don't sort when using --no-sort
Documentation/git-for-each-ref.txt
builtin/branch.c
ref-filter.c
t/t3200-branch.sh
t/t6300-for-each-ref.sh