aboutsummaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>2011-03-25 16:34:19 +0700
committerJunio C Hamano <gitster@pobox.com>2011-03-25 09:20:33 -0700
commitf0096c06bcdeb7aa6ae8a749ddc9d6d4a2c381d1 (patch)
treeb5b28251c9e48186b9e6168cbfefe4ace0f57602 /t
parentffd31f661d5c5dddc091750ca86cfaa5d9d04b38 (diff)
downloadgit-f0096c06bcdeb7aa6ae8a749ddc9d6d4a2c381d1.tar.gz
git-f0096c06bcdeb7aa6ae8a749ddc9d6d4a2c381d1.tar.xz
Convert read_tree{,_recursive} to support struct pathspec
This patch changes behavior of the two functions. Previously it does prefix matching only. Now it can also do wildcard matching. All callers are updated. Some gain wildcard matching (archive, checkout), others reset pathspec_item.has_wildcard to retain old behavior (ls-files, ls-tree as they are plumbing). Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't')
-rwxr-xr-xt/t3102-ls-tree-wildcards.sh22
1 files changed, 22 insertions, 0 deletions
diff --git a/t/t3102-ls-tree-wildcards.sh b/t/t3102-ls-tree-wildcards.sh
new file mode 100755
index 000000000..f2b2a524d
--- /dev/null
+++ b/t/t3102-ls-tree-wildcards.sh
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+test_description='ls-tree with(out) wildcards'
+
+. ./test-lib.sh
+
+test_expect_success 'setup' '
+ mkdir a aa "a*" &&
+ touch a/one aa/two "a*/three" &&
+ git add a/one aa/two "a*/three" &&
+ git commit -m test
+'
+
+test_expect_success 'ls-tree a* matches literally' '
+ cat >expected <<EOF &&
+100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 a*/three
+EOF
+ git ls-tree -r HEAD "a*" >actual &&
+ test_cmp expected actual
+'
+
+test_done