Re: [PATCH] sparse-checkout: improve OS ls compatibility
- From
- Eric Wong <e@80x24.org>
- Date
- Dec 19, 2019, 02:45 UTC
- Message-ID
- <20191219024518.GA3411@dcvr>
- In-Reply-To
- <20191219015833.49314-1-emaste@FreeBSD.org>
Ed Maste <emaste@FreeBSD.org> wrote:
Show 10 quoted lines
> 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' '