author | Linus Torvalds <torvalds@linux-foundation.org> | |
Thu, 23 Jul 2009 17:17:04 +0000 (10:17 -0700) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Fri, 24 Jul 2009 04:56:00 +0000 (21:56 -0700) | ||
commit | e6e4a47ba12bd19ed956251f191b1ea9915f61f8 | |
tree | 3447e53210d460cb62af2a8f13d5e8841e27bd05 | tree | snapshot |
parent | eafb45265bb9fcbee3cc03b451da7e17db9e6be7 | commit | diff |
git branch: fix performance problem
'git branch' looks at _all_ the refs, and verifies them. Which means that
during cold-cache situations with a slow disk (and lots of tags, for
example) it can take several very annoying seconds (7.5s according to a
report by Carlos R. Mafra).
This avoids most of it by simply doing the filtering before looking up
the commits, by using the "raw" version of for_each_ref.
Reported-by: Carlos R. Mafra <crmafra2@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
'git branch' looks at _all_ the refs, and verifies them. Which means that
during cold-cache situations with a slow disk (and lots of tags, for
example) it can take several very annoying seconds (7.5s according to a
report by Carlos R. Mafra).
This avoids most of it by simply doing the filtering before looking up
the commits, by using the "raw" version of for_each_ref.
Reported-by: Carlos R. Mafra <crmafra2@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin-branch.c | diff | blob | history |