]> git.ipfire.org Git - thirdparty/git.git/commit - git-filter-branch.sh
filter-branch: skip index read/write when possible
authorJeff King <peff@peff.net>
Fri, 6 Nov 2015 06:24:29 +0000 (01:24 -0500)
committerJunio C Hamano <gitster@pobox.com>
Fri, 6 Nov 2015 17:35:49 +0000 (09:35 -0800)
commit348d4f2fc5d3c4f7ba47079b96676b4e2dd831fc
tree068baef549634129847efcc77f7aa8cf3d20566c
parentf34be46e47773d03e9d09641209121591a6b37c8
filter-branch: skip index read/write when possible

If the user specifies an index filter but not a tree filter,
filter-branch cleverly avoids checking out the tree
entirely. But we don't do the next level of optimization: if
you have no index or tree filter, we do not need to read the
index at all.

This can greatly speed up cases where we are only changing
the commit objects (e.g., cementing a graft into place).
Here are numbers from the newly-added perf test:

  Test                  HEAD^              HEAD
  ---------------------------------------------------------------
  7000.2: noop filter   13.81(4.95+0.83)   5.43(0.42+0.43) -60.7%

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-filter-branch.sh
t/perf/p7000-filter-branch.sh [new file with mode: 0755]