On FreeBSD, when executed by root ls enables the '-A' option: -A Include directory entries whose names begin with a dot (`.') except for . and ... Automatically set for the super-user unless -I is specified. As a result the .git directory appeared in the output when run as root. Simulate no-dotfile ls behaviour using a shell glob. Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx> Helped-by: Eric Wong <e@xxxxxxxxx> Helped-by: Junio C Hamano <gitster@xxxxxxxxx> --- t/t1091-sparse-checkout-builtin.sh | 32 +++++++++++++++++------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/t/t1091-sparse-checkout-builtin.sh b/t/t1091-sparse-checkout-builtin.sh index cee98a1c8a..7e8cac679e 100755 --- a/t/t1091-sparse-checkout-builtin.sh +++ b/t/t1091-sparse-checkout-builtin.sh @@ -4,6 +4,10 @@ test_description='sparse checkout builtin tests' . ./test-lib.sh +ls_no_dot() { + (cd "$1" && printf '%s\n' *) +} + test_expect_success 'setup' ' git init repo && ( @@ -50,7 +54,7 @@ test_expect_success 'git sparse-checkout init' ' EOF test_cmp expect repo/.git/info/sparse-checkout && test_cmp_config -C repo true core.sparsecheckout && - ls repo >dir && + ls_no_dot repo >dir && echo a >expect && test_cmp expect dir ' @@ -73,7 +77,7 @@ test_expect_success 'init with existing sparse-checkout' ' *folder* EOF test_cmp expect repo/.git/info/sparse-checkout && - ls repo >dir && + ls_no_dot repo >dir && cat >expect <<-EOF && a folder1 @@ -90,7 +94,7 @@ test_expect_success 'clone --sparse' ' !/*/ EOF test_cmp expect actual && - ls clone >dir && + ls_no_dot clone >dir && echo a >expect && test_cmp expect dir ' @@ -119,7 +123,7 @@ test_expect_success 'set sparse-checkout using builtin' ' git -C repo sparse-checkout list >actual && test_cmp expect actual && test_cmp expect repo/.git/info/sparse-checkout && - ls repo >dir && + ls_no_dot repo >dir && cat >expect <<-EOF && a folder1 @@ -139,7 +143,7 @@ test_expect_success 'set sparse-checkout using --stdin' ' git -C repo sparse-checkout list >actual && test_cmp expect actual && test_cmp expect repo/.git/info/sparse-checkout && - ls repo >dir && + ls_no_dot repo >dir && cat >expect <<-EOF && a folder1 @@ -154,7 +158,7 @@ test_expect_success 'cone mode: match patterns' ' git -C repo read-tree -mu HEAD 2>err && test_i18ngrep ! "disabling cone patterns" err && git -C repo reset --hard && - ls repo >dir && + ls_no_dot repo >dir && cat >expect <<-EOF && a folder1 @@ -177,7 +181,7 @@ test_expect_success 'sparse-checkout disable' ' test_path_is_file repo/.git/info/sparse-checkout && git -C repo config --list >config && test_must_fail git config core.sparseCheckout && - ls repo >dir && + ls_no_dot repo >dir && cat >expect <<-EOF && a deep @@ -191,24 +195,24 @@ test_expect_success 'cone mode: init and set' ' git -C repo sparse-checkout init --cone && git -C repo config --list >config && test_i18ngrep "core.sparsecheckoutcone=true" config && - ls repo >dir && + ls_no_dot repo >dir && echo a >expect && test_cmp expect dir && git -C repo sparse-checkout set deep/deeper1/deepest/ 2>err && test_must_be_empty err && - ls repo >dir && + ls_no_dot repo >dir && cat >expect <<-EOF && a deep EOF test_cmp expect dir && - ls repo/deep >dir && + ls_no_dot repo/deep >dir && cat >expect <<-EOF && a deeper1 EOF test_cmp expect dir && - ls repo/deep/deeper1 >dir && + ls_no_dot repo/deep/deeper1 >dir && cat >expect <<-EOF && a deepest @@ -234,7 +238,7 @@ test_expect_success 'cone mode: init and set' ' folder1 folder2 EOF - ls repo >dir && + ls_no_dot repo >dir && test_cmp expect dir ' @@ -256,7 +260,7 @@ test_expect_success 'revert to old sparse-checkout on bad update' ' test_must_fail git -C repo sparse-checkout set deep/deeper1 2>err && test_i18ngrep "cannot set sparse-checkout patterns" err && test_cmp repo/.git/info/sparse-checkout expect && - ls repo/deep >dir && + ls_no_dot repo/deep >dir && cat >expect <<-EOF && a deeper1 @@ -313,7 +317,7 @@ test_expect_success 'cone mode: set with core.ignoreCase=true' ' /folder1/ EOF test_cmp expect repo/.git/info/sparse-checkout && - ls repo >dir && + ls_no_dot repo >dir && cat >expect <<-EOF && a folder1 -- 2.24.0