summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--revision.c4
-rwxr-xr-xt/t4216-log-bloom.sh4
2 files changed, 8 insertions, 0 deletions
diff --git a/revision.c b/revision.c
index ddf09ab0aa..667ca36e1c 100644
--- a/revision.c
+++ b/revision.c
@@ -702,6 +702,10 @@ static void prepare_to_use_bloom_filter(struct rev_info *revs)
path = pi->match;
len = strlen(path);
+ if (!len) {
+ revs->bloom_filter_settings = NULL;
+ return;
+ }
revs->bloom_key = xmalloc(sizeof(struct bloom_key));
fill_bloom_key(path, len, revs->bloom_key, revs->bloom_filter_settings);
diff --git a/t/t4216-log-bloom.sh b/t/t4216-log-bloom.sh
index 52ad998f9e..29338f36bf 100755
--- a/t/t4216-log-bloom.sh
+++ b/t/t4216-log-bloom.sh
@@ -112,6 +112,10 @@ test_expect_success 'git log -- multiple path specs does not use Bloom filters'
test_bloom_filters_not_used "-- file4 A/file1"
'
+test_expect_success 'git log -- "." pathspec at root does not use Bloom filters' '
+ test_bloom_filters_not_used "-- ."
+'
+
test_expect_success 'git log with wildcard that resolves to a single path uses Bloom filters' '
test_bloom_filters_used "-- *4" &&
test_bloom_filters_used "-- *renamed"