# [PATCH v2 2/2] t0027: Support NATIVE_CRLF

7 messages from 2015-04-17 to 2015-04-18. Participants: Torsten Bögershausen, Johannes Schindelin, Eric Sunshine, Junio C Hamano.
Thread: https://gitlist.dev/t/39104

## Torsten Bögershausen, 2015-04-17 15:44

Subject: [PATCH v2 2/2] t0027: Support NATIVE_CRLF
Message-ID: <55312A45.8060008@web.de>
URL: https://gitlist.dev/e/55312A45.8060008%40web.de

```
Without this patch, t0027 expects the native end-of-lines to be a single
line feed character. On Windows, however, we set it to a carriage return
character followed by a line feed character. Thus, we have to modify
t0027 to expect different warnings depending on the end-of-line markers.

Adjust the check of the warnings and use these macros:
  WILC:  Warn if LF becomes CRLF
  WICL:  Warn if CRLF becomes LF
  WAMIX: Mixed line endings: either CRLF->LF or LF->CRLF

Improve the information given by check_warning():
Use test_cmp to show which warning is missing (or should'n t be there)

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Torsten Bögershausen <tboegi@web.de>
---
 t/t0027-auto-crlf.sh | 30 ++++++++++++++++++++----------
 1 file changed, 20 insertions(+), 10 deletions(-)

diff --git a/t/t0027-auto-crlf.sh b/t/t0027-auto-crlf.sh
index 5858397..8975b97 100755
--- a/t/t0027-auto-crlf.sh
+++ b/t/t0027-auto-crlf.sh
@@ -57,15 +57,13 @@ create_gitattributes () {
 
 check_warning () {
 	case "$1" in
-	LF_CRLF) grep "LF will be replaced by CRLF" $2;;
-	CRLF_LF) grep "CRLF will be replaced by LF" $2;;
-	'')
-		>expect
-		grep "will be replaced by" $2 >actual
-		test_cmp expect actual
-		;;
-	*) false ;;
+	LF_CRLF) echo "warning: LF will be replaced by CRLF" >"$2".expect ;;
+	CRLF_LF) echo "warning: CRLF will be replaced by LF" >"$2".expect ;;
+	'')	                                                 >"$2".expect ;;
+	*) echo >&2 "Illegal 1": "$1" ; return false ;;
 	esac
+	grep "will be replaced by" "$2" | sed -e "s/\(.*\) in [^ ]*$/\1/" >"$2".actual
+	test_cmp "$2".expect "$2".actual
 }
 
 commit_check_warn () {
@@ -169,6 +167,18 @@ test_expect_success 'setup master' '
 warn_LF_CRLF="LF will be replaced by CRLF"
 warn_CRLF_LF="CRLF will be replaced by LF"
 
+#WILC means "Warn if (this OS) converts LF into CRLF"
+if test_have_prereq NATIVE_CRLF
+then
+WILC=LF_CRLF
+WICL=
+WAMIX=LF_CRLF
+else
+WILC=
+WICL=CRLF_LF
+WAMIX=CRLF_LF
+fi
+
 test_expect_success 'commit files empty attr' '
 	commit_check_warn false ""     ""        ""        ""        ""        "" &&
 	commit_check_warn true  ""     "LF_CRLF" ""        "LF_CRLF" ""        "" &&
@@ -176,13 +186,13 @@ test_expect_success 'commit files empty attr' '
 '
 
 test_expect_success 'commit files attr=auto' '
-	commit_check_warn false "auto" ""        "CRLF_LF" "CRLF_LF" ""        "" &&
+	commit_check_warn false "auto" "$WILC"  "$WICL"    "$WAMIX"  ""        "" &&
 	commit_check_warn true  "auto" "LF_CRLF" ""        "LF_CRLF" ""        "" &&
 	commit_check_warn input "auto" ""        "CRLF_LF" "CRLF_LF" ""        ""
 '
 
 test_expect_success 'commit files attr=text' '
-	commit_check_warn false "text" ""        "CRLF_LF" "CRLF_LF" ""        "CRLF_LF" &&
+	commit_check_warn false "text" "$WILC"  "$WICL"    "$WAMIX"  "$WILC"  "$WICL" &&
 	commit_check_warn true  "text" "LF_CRLF" ""        "LF_CRLF" "LF_CRLF" ""        &&
 	commit_check_warn input "text" ""        "CRLF_LF" "CRLF_LF" ""        "CRLF_LF"
 '
-- 
2.2.0.rc1.790.ge19fcd2

```

## Torsten Bögershausen, 2015-04-17 17:00

Subject: Re: [PATCH v2 2/2] t0027: Support NATIVE_CRLF
Message-ID: <55313C3C.1090504@web.de>
URL: https://gitlist.dev/e/55313C3C.1090504%40web.de
In-Reply-To: <55312A45.8060008@web.de>

```
On 2015-04-17 17.44, Torsten Bögershausen wrote:
> Without this patch, t0027 expects the native end-of-lines to be a single
> line feed character. On Windows, however, we set it to a carriage return
> character followed by a line feed character. Thus, we have to modify
> t0027 to expect different warnings depending on the end-of-line markers.
>
> Adjust the check of the warnings and use these macros:
>   WILC:  Warn if LF becomes CRLF
>   WICL:  Warn if CRLF becomes LF
>   WAMIX: Mixed line endings: either CRLF->LF or LF->CRLF
>
> Improve the information given by check_warning():
> Use test_cmp to show which warning is missing (or should'n t be there)
>
> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
> Signed-off-by: Torsten Bögershausen <tboegi@web.de>
Originally I wanted to have Dscho as "Author", is that OK with you ?
(But the "From:" line didn't made it through my email program)
 

```

## Johannes Schindelin, 2015-04-17 19:37

Subject: Re: [PATCH v2 2/2] t0027: Support NATIVE_CRLF
Message-ID: <6e6620d53e9378d3c539c3d1f9cdac0d@www.dscho.org>
URL: https://gitlist.dev/e/6e6620d53e9378d3c539c3d1f9cdac0d%40www.dscho.org
In-Reply-To: <55313C3C.1090504@web.de>

```
Hi Torsten,

On 2015-04-17 19:00, Torsten Bögershausen wrote:
> On 2015-04-17 17.44, Torsten Bögershausen wrote:
>> Without this patch, t0027 expects the native end-of-lines to be a single
>> line feed character. On Windows, however, we set it to a carriage return
>> character followed by a line feed character. Thus, we have to modify
>> t0027 to expect different warnings depending on the end-of-line markers.
>>
>> Adjust the check of the warnings and use these macros:
>>   WILC:  Warn if LF becomes CRLF
>>   WICL:  Warn if CRLF becomes LF
>>   WAMIX: Mixed line endings: either CRLF->LF or LF->CRLF
>>
>> Improve the information given by check_warning():
>> Use test_cmp to show which warning is missing (or should'n t be there)
>>
>> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
>> Signed-off-by: Torsten Bögershausen <tboegi@web.de>
> Originally I wanted to have Dscho as "Author", is that OK with you ?
> (But the "From:" line didn't made it through my email program)

No worries.
Dscho

```

## Johannes Schindelin, 2015-04-17 19:55

Subject: Re: [PATCH v2 2/2] t0027: Support NATIVE_CRLF
Message-ID: <1db9b0b7322c3b8b8e7a76b29b020ad8@www.dscho.org>
URL: https://gitlist.dev/e/1db9b0b7322c3b8b8e7a76b29b020ad8%40www.dscho.org
In-Reply-To: <55312A45.8060008@web.de>

```
Hi Torsten,

On 2015-04-17 17:44, Torsten Bögershausen wrote:
> Without this patch, t0027 expects the native end-of-lines to be a single
> line feed character. On Windows, however, we set it to a carriage return
> character followed by a line feed character. Thus, we have to modify
> t0027 to expect different warnings depending on the end-of-line markers.
> 
> Adjust the check of the warnings and use these macros:
>   WILC:  Warn if LF becomes CRLF
>   WICL:  Warn if CRLF becomes LF
>   WAMIX: Mixed line endings: either CRLF->LF or LF->CRLF
> 
> Improve the information given by check_warning():
> Use test_cmp to show which warning is missing (or should'n t be there)
> 
> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
> Signed-off-by: Torsten Bögershausen <tboegi@web.de>

Thank you so much!
Dscho

```

## Eric Sunshine, 2015-04-17 20:44

Subject: Re: [PATCH v2 2/2] t0027: Support NATIVE_CRLF
Message-ID: <CAPig+cS6XELr0zEa_SiCM25rQENerEtBS9xVeLi4sc61nAa6Mg@mail.gmail.com>
URL: https://gitlist.dev/e/CAPig%2BcS6XELr0zEa_SiCM25rQENerEtBS9xVeLi4sc61nAa6Mg%40mail.gmail.com
In-Reply-To: <55312A45.8060008@web.de>

```
On Fri, Apr 17, 2015 at 11:44 AM, Torsten Bögershausen <tboegi@web.de> wrote:
> Without this patch, t0027 expects the native end-of-lines to be a single
> line feed character. On Windows, however, we set it to a carriage return
> character followed by a line feed character. Thus, we have to modify
> t0027 to expect different warnings depending on the end-of-line markers.
>
> Adjust the check of the warnings and use these macros:
>   WILC:  Warn if LF becomes CRLF
>   WICL:  Warn if CRLF becomes LF
>   WAMIX: Mixed line endings: either CRLF->LF or LF->CRLF
>
> Improve the information given by check_warning():
> Use test_cmp to show which warning is missing (or should'n t be there)

s/should'n t/shouldn't/

> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
> Signed-off-by: Torsten Bögershausen <tboegi@web.de>

```

## Junio C Hamano, 2015-04-17 21:04

Subject: Re: [PATCH v2 2/2] t0027: Support NATIVE_CRLF
Message-ID: <xmqq8udqpius.fsf@gitster.dls.corp.google.com>
URL: https://gitlist.dev/e/xmqq8udqpius.fsf%40gitster.dls.corp.google.com
In-Reply-To: <1db9b0b7322c3b8b8e7a76b29b020ad8@www.dscho.org>

```
Johannes Schindelin <johannes.schindelin@gmx.de> writes:

> Hi Torsten,
>
> On 2015-04-17 17:44, Torsten Bögershausen wrote:
>> Without this patch, t0027 expects the native end-of-lines to be a single
>> line feed character. On Windows, however, we set it to a carriage return
>> character followed by a line feed character. Thus, we have to modify
>> t0027 to expect different warnings depending on the end-of-line markers.
>> 
>> Adjust the check of the warnings and use these macros:
>>   WILC:  Warn if LF becomes CRLF
>>   WICL:  Warn if CRLF becomes LF
>>   WAMIX: Mixed line endings: either CRLF->LF or LF->CRLF
>> 
>> Improve the information given by check_warning():
>> Use test_cmp to show which warning is missing (or should'n t be there)
>> 
>> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
>> Signed-off-by: Torsten Bögershausen <tboegi@web.de>
>
> Thank you so much!
> Dscho

Thanks, is that "Acked-by: Dscho" for both patches?

```

## Johannes Schindelin, 2015-04-18 14:54

Subject: Re: [PATCH v2 2/2] t0027: Support NATIVE_CRLF
Message-ID: <7216168da473ed5cda5b16bca236a3ec@www.dscho.org>
URL: https://gitlist.dev/e/7216168da473ed5cda5b16bca236a3ec%40www.dscho.org
In-Reply-To: <xmqq8udqpius.fsf@gitster.dls.corp.google.com>

```
Hi Junio,

On 2015-04-17 23:04, Junio C Hamano wrote:
> Johannes Schindelin <johannes.schindelin@gmx.de> writes:
> 
>> On 2015-04-17 17:44, Torsten Bögershausen wrote:
>>> Without this patch, t0027 expects the native end-of-lines to be a single
>>> line feed character. On Windows, however, we set it to a carriage return
>>> character followed by a line feed character. Thus, we have to modify
>>> t0027 to expect different warnings depending on the end-of-line markers.
>>>
>>> Adjust the check of the warnings and use these macros:
>>>   WILC:  Warn if LF becomes CRLF
>>>   WICL:  Warn if CRLF becomes LF
>>>   WAMIX: Mixed line endings: either CRLF->LF or LF->CRLF
>>>
>>> Improve the information given by check_warning():
>>> Use test_cmp to show which warning is missing (or should'n t be there)
>>>
>>> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
>>> Signed-off-by: Torsten Bögershausen <tboegi@web.de>
>>
>> Thank you so much!
>> Dscho
> 
> Thanks, is that "Acked-by: Dscho" for both patches?

Oops, yes:

Acked-by: Johannes Schindelin <johannes.schindelin@gmx.de>

Sorry!
Dscho

```
