Linus Torvalds, Fri, Jul 14, 2006 17:39:24 +0200: > > > Btw, I'm actually surprised that my path simplification didn't filter out > > > the "." and make it mean exactly the same as not giving a path at all. I > > > thought I had done that earlier, but if you say "-- ." matters, then it > > > obviously does.. > > > > In this specific case where I have a whole bunch of commits which don't > > actually change anything, it definitely does make a difference... > > Yes, I'm looking at "get_pathspec()", and noting that it really isn't able > to optimize away the ".". > > It does turn it into an empty string (which is correct - git internally > does _not_ ever understand the notion of "." as the current working > directory), but it doesn't ever do the optimization of noticing that a > pathspec that consists solely of an empty string is "equivalent" to an > empty pathspec. > > Which is exactly what you _want_ in this case, of course, but maybe we > should add a test-case for that, so that we never do that trivial > optimization by mistake. Signed-off-by: Alex Riesen <raa.lkml@xxxxxxxxx> --- ... > Anybody want to write that as a test, verify it, and send Junio a patch? > > Linus So here it is. t/t6004-rev-list-path-optim.sh | 19 +++++++++++++++++++ 1 files changed, 19 insertions(+), 0 deletions(-) diff --git a/t/t6004-rev-list-path-optim.sh b/t/t6004-rev-list-path-optim.sh new file mode 100755 index 0000000..5182dbb --- /dev/null +++ b/t/t6004-rev-list-path-optim.sh @@ -0,0 +1,19 @@ +#!/bin/sh + +test_description='git-rev-list trivial path optimization test' + +. ./test-lib.sh + +test_expect_success setup ' +echo Hello > a && +git add a && +git commit -m "Initial commit" a +' + +test_expect_success path-optimization ' + commit=$(echo "Unchanged tree" | git-commit-tree "HEAD^{tree}" -p HEAD) && + test $(git-rev-list $commit | wc -l) = 2 && + test $(git-rev-list $commit -- . | wc -l) = 1 +' + +test_done -- 1.4.1.gb944 - : send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html