git branch: fix performance problem
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 23 Jul 2009 17:17:04 +0000 (10:17 -0700)
committerJunio C Hamano <gitster@pobox.com>
Fri, 24 Jul 2009 04:56:00 +0000 (21:56 -0700)
commite6e4a47ba12bd19ed956251f191b1ea9915f61f8
tree3447e53210d460cb62af2a8f13d5e8841e27bd05
parenteafb45265bb9fcbee3cc03b451da7e17db9e6be7
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>
builtin-branch.c