summaryrefslogtreecommitdiff
path: root/http.h
diff options
context:
space:
mode:
authorLibravatar Thomas Rast <trast@student.ethz.ch>2013-03-28 17:47:34 +0100
committerLibravatar Junio C Hamano <gitster@pobox.com>2013-03-28 10:30:28 -0700
commit39410bf0bf81cb3f76fb9bfa8308cd672bc1442c (patch)
treea338acf5695bfac5b8d6728c2aa578d4d9737b03 /http.h
parentlog -L: :pattern:file syntax to find by funcname (diff)
downloadtgif-39410bf0bf81cb3f76fb9bfa8308cd672bc1442c.tar.xz
Speed up log -L... -M
So far log -L only used the implicit diff filtering by pathspec. If the user specifies -M, we cannot do that, and so we simply handed the whole diff queue (which is approximately 'git show --raw') to diffcore_std(). Unfortunately this is very slow. We can optimize a lot if we throw out files that we know cannot possibly be interesting, in the same spirit that the pathspec filtering reduces the number of files. However, in this case, we have to be more careful. Because we want to look out for renames, we need to keep all filepairs where something was deleted. This is a bit hacky and should really be replaced by equivalent support in --follow, and just using that. However, in the meantime it speeds up 'log -M -L' by an order of magnitude. Signed-off-by: Thomas Rast <trast@student.ethz.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'http.h')
0 files changed, 0 insertions, 0 deletions