Files
git/builtin
Jeff King b2086b5183 log: avoid loading decorations for userformats that don't need it
If no --decorate option is given, we default to auto-decoration. And
when that kicks in, cmd_log_init_finish() will unconditionally load the
decoration refs.

However, if we are using a user-format that does not include "%d" or
"%D", we won't show the decorations at all, so we don't need to load
them. We can detect this case and auto-disable them by adding a new
field to our userformat_want helper. We can do this even when the user
explicitly asked for --decorate, because it can't affect the output at
all.

This patch consistently reduces the time to run "git log -1 --format=%H"
on my git.git clone (with ~2k refs) from 34ms to 7ms. On a much more
extreme real-world repository (with ~220k refs), it goes from 2.5s to
4ms.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2021-06-28 20:30:17 -07:00
..
2021-05-14 08:26:09 +09:00
2020-07-30 19:18:06 -07:00
2021-02-25 16:43:29 -08:00
2021-04-20 11:09:50 -07:00
2020-08-11 18:04:11 -07:00
2021-05-07 12:47:41 +09:00
2021-05-20 08:54:59 +09:00
2021-01-06 15:10:49 -08:00
2020-10-16 12:30:45 -07:00
2021-02-25 16:43:30 -08:00
2021-02-25 16:43:30 -08:00
2021-04-27 16:31:39 +09:00
2020-03-24 15:04:43 -07:00
2021-05-07 12:47:41 +09:00
2021-06-02 07:34:27 +09:00
2021-05-12 07:00:45 +09:00
2021-05-20 08:54:59 +09:00
2021-04-07 16:54:08 -07:00
2021-04-14 13:47:21 -07:00
2021-06-10 12:04:23 +09:00
2021-03-13 16:00:09 -08:00
2020-03-24 15:04:44 -07:00
2020-05-13 12:19:18 -07:00
2021-02-25 16:43:33 -08:00
2021-04-07 16:54:08 -07:00
2020-07-30 19:18:06 -07:00
2021-05-07 12:47:41 +09:00
2021-01-25 14:19:19 -08:00
2021-06-14 13:33:27 +09:00
2021-04-20 11:09:50 -07:00
2021-04-14 13:47:29 -07:00
2020-07-30 19:18:06 -07:00
2020-08-11 18:04:11 -07:00
2021-05-20 08:54:59 +09:00