# Test failure on Windows in t3705-add-sparse-checkout.sh

4 messages from 2022-01-13 to 2022-01-18. Participants: Johannes Sixt, Elijah Newren, Derrick Stolee.
Thread: https://gitlist.dev/t/57241

## Johannes Sixt, 2022-01-13 21:12

Subject: Test failure on Windows in t3705-add-sparse-checkout.sh
Message-ID: <7ed402e0-63cd-2875-b3ac-71c967ccf80a@kdbg.org>
URL: https://gitlist.dev/e/7ed402e0-63cd-2875-b3ac-71c967ccf80a%40kdbg.org

```
Hi Stolee,

is there a reason we don't do this in the test case that you added in
63b60b3add75 ("add: update --chmod to skip sparse paths", 2021-09-24).
Notice that the similar git add earlier also sets core.autocrlf. As the
comment indicates, stderr indeed contains a warning about LF->CRLF
conversion in my Windows build and fails test_must_be_empty.

diff --git a/t/t3705-add-sparse-checkout.sh b/t/t3705-add-sparse-checkout.sh
index 81f3384eee..4fb663e3b4 100755
--- a/t/t3705-add-sparse-checkout.sh
+++ b/t/t3705-add-sparse-checkout.sh
@@ -181,13 +181,13 @@ test_expect_success 'git add fails outside of sparse-checkout definition' '
 	# Avoid munging CRLFs to avoid an error message
 	git -c core.autocrlf=input add --sparse sparse_entry 2>stderr &&
 	test_must_be_empty stderr &&
 	git ls-files --stage >actual &&
 	grep "^100644 .*sparse_entry\$" actual &&
 
-	git add --sparse --chmod=+x sparse_entry 2>stderr &&
+	git -c core.autocrlf=input add --sparse --chmod=+x sparse_entry 2>stderr &&
 	test_must_be_empty stderr &&
 	git ls-files --stage >actual &&
 	grep "^100755 .*sparse_entry\$" actual &&
 
 	git reset &&
 


```

## Johannes Sixt, 2022-01-15 14:58

Subject: [PATCH] t3705-add-sparse-checkout: ignore a LF->CRLF warning on Windows
Message-ID: <df42170b-8659-d496-3454-a4a3ac2827eb@kdbg.org>
URL: https://gitlist.dev/e/df42170b-8659-d496-3454-a4a3ac2827eb%40kdbg.org
In-Reply-To: <7ed402e0-63cd-2875-b3ac-71c967ccf80a@kdbg.org>

```
There are checks that certain `git add` invocations do not produce
output on stderr. One of them, the original one, uses
"-c core.autocrlf=input" to ensure that `git add` does not write a
hint about LF to CRLF conversion to stderr on Windows. A second
`git add` was added in later patch, but it was forgotten to add
the same protection. Add it now to let the test pass on Windows.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
---
Am 13.01.22 um 22:12 schrieb Johannes Sixt:
> is there a reason we don't do this in the test case that you added in
> 63b60b3add75 ("add: update --chmod to skip sparse paths", 2021-09-24).
> Notice that the similar git add earlier also sets core.autocrlf.

Here's a proper patch.

 t/t3705-add-sparse-checkout.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/t/t3705-add-sparse-checkout.sh b/t/t3705-add-sparse-checkout.sh
index 81f3384eee..4fb663e3b4 100755
--- a/t/t3705-add-sparse-checkout.sh
+++ b/t/t3705-add-sparse-checkout.sh
@@ -184,7 +184,7 @@ test_expect_success 'git add fails outside of sparse-checkout definition' '
 	git ls-files --stage >actual &&
 	grep "^100644 .*sparse_entry\$" actual &&
 
-	git add --sparse --chmod=+x sparse_entry 2>stderr &&
+	git -c core.autocrlf=input add --sparse --chmod=+x sparse_entry 2>stderr &&
 	test_must_be_empty stderr &&
 	git ls-files --stage >actual &&
 	grep "^100755 .*sparse_entry\$" actual &&
-- 
2.34.1.141.g867d0e9267

```

## Elijah Newren, 2022-01-16 03:58

Subject: Re: Test failure on Windows in t3705-add-sparse-checkout.sh
Message-ID: <CABPp-BF_fEN+2Q9kbSgc4mw3Ni4wPKDRut+MmWS3XpK-QtWtBQ@mail.gmail.com>
URL: https://gitlist.dev/e/CABPp-BF_fEN%2B2Q9kbSgc4mw3Ni4wPKDRut%2BMmWS3XpK-QtWtBQ%40mail.gmail.com
In-Reply-To: <7ed402e0-63cd-2875-b3ac-71c967ccf80a@kdbg.org>

```
On Fri, Jan 14, 2022 at 12:30 AM Johannes Sixt <j6t@kdbg.org> wrote:
>
> Hi Stolee,
>
> is there a reason we don't do this in the test case that you added in
> 63b60b3add75 ("add: update --chmod to skip sparse paths", 2021-09-24).
> Notice that the similar git add earlier also sets core.autocrlf. As the
> comment indicates, stderr indeed contains a warning about LF->CRLF
> conversion in my Windows build and fails test_must_be_empty.
>
> diff --git a/t/t3705-add-sparse-checkout.sh b/t/t3705-add-sparse-checkout.sh
> index 81f3384eee..4fb663e3b4 100755
> --- a/t/t3705-add-sparse-checkout.sh
> +++ b/t/t3705-add-sparse-checkout.sh
> @@ -181,13 +181,13 @@ test_expect_success 'git add fails outside of sparse-checkout definition' '
>         # Avoid munging CRLFs to avoid an error message
>         git -c core.autocrlf=input add --sparse sparse_entry 2>stderr &&
>         test_must_be_empty stderr &&
>         git ls-files --stage >actual &&
>         grep "^100644 .*sparse_entry\$" actual &&
>
> -       git add --sparse --chmod=+x sparse_entry 2>stderr &&
> +       git -c core.autocrlf=input add --sparse --chmod=+x sparse_entry 2>stderr &&
>         test_must_be_empty stderr &&
>         git ls-files --stage >actual &&
>         grep "^100755 .*sparse_entry\$" actual &&
>
>         git reset &&

Is this an alternative fix for the same failure I was seeing in t3705
and which I was confused why I had to add to my series over at
https://lore.kernel.org/git/11d46a399d26c913787b704d2b7169cafc28d639.1642175983.git.gitgitgadget@gmail.com/
?

```

## Derrick Stolee, 2022-01-18 16:17

Subject: Re: [PATCH] t3705-add-sparse-checkout: ignore a LF->CRLF warning on Windows
Message-ID: <ea4cc086-744b-6fe5-08be-7a9c684da1a3@gmail.com>
URL: https://gitlist.dev/e/ea4cc086-744b-6fe5-08be-7a9c684da1a3%40gmail.com
In-Reply-To: <df42170b-8659-d496-3454-a4a3ac2827eb@kdbg.org>

```
On 1/15/2022 9:58 AM, Johannes Sixt wrote:
> There are checks that certain `git add` invocations do not produce
> output on stderr. One of them, the original one, uses
> "-c core.autocrlf=input" to ensure that `git add` does not write a
> hint about LF to CRLF conversion to stderr on Windows. A second
> `git add` was added in later patch, but it was forgotten to add
> the same protection. Add it now to let the test pass on Windows.
> 
> Signed-off-by: Johannes Sixt <j6t@kdbg.org>
> ---
> Am 13.01.22 um 22:12 schrieb Johannes Sixt:
>> is there a reason we don't do this in the test case that you added in
>> 63b60b3add75 ("add: update --chmod to skip sparse paths", 2021-09-24).
>> Notice that the similar git add earlier also sets core.autocrlf.
> 
> Here's a proper patch.

Thanks for this fix. I'm not sure why this fails on your Windows
machine but passes the Windows CI builds. Glad to have the fix
either way.
> -	git add --sparse --chmod=+x sparse_entry 2>stderr &&
> +	git -c core.autocrlf=input add --sparse --chmod=+x sparse_entry 2>stderr &&

Thanks,
-Stolee

```
