From: Eric Wong Date: Thu, 19 Dec 2019 02:45:18 GMT Subject: Re: [PATCH] sparse-checkout: improve OS ls compatibility Message-ID: <20191219024518.GA3411@dcvr> In-Reply-To: <20191219015833.49314-1-emaste@FreeBSD.org> Ed Maste wrote: > There are several different ways this could be solved; this approach > felt cleanest to me, but there are at least two other reasonable > alternatives: > > * Add -a to the invocations and .git to the expected output > > * Add LSFLAGS and set it to -I on BSDs, to turn off the special dot > behaviour > > I'll submit a new patch if a different approach is preferred. Relying on "ls" itself seems a bit fragile. My first choice is to write more tests in Perl5 :) But using a shell for loop seems doable, here, since there doesn't seem to be wonky characters. I've done this in the past when I had to fix a system without "ls". This goes on top of your patch: diff --git a/t/t1091-sparse-checkout-builtin.sh b/t/t1091-sparse-checkout-builtin.sh index 3a3eafa653..a431d05643 100755 --- a/t/t1091-sparse-checkout-builtin.sh +++ b/t/t1091-sparse-checkout-builtin.sh @@ -6,7 +6,7 @@ test_description='sparse checkout builtin tests' ls_no_git() { - ls -1 "$1" | grep -v .git + ( cd "$1" && for i in *; do echo "$i"; done ) } test_expect_success 'setup' '