All of lore.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: "Torsten Bögershausen" <tboegi@web.de>
Cc: git@vger.kernel.org
Subject: Re: [PATCH v2] t0027: check the eol conversion warnings
Date: Fri, 05 Dec 2014 15:15:21 -0800	[thread overview]
Message-ID: <xmqqfvctofhy.fsf@gitster.dls.corp.google.com> (raw)
In-Reply-To: <547B7AF8.80700@web.de> ("Torsten Bögershausen"'s message of "Sun, 30 Nov 2014 21:15:52 +0100")

Torsten Bögershausen <tboegi@web.de> writes:

> Depending on the file content, eol parameters and .gitattributes
> "git add" may give a warning when the eol of a file will change
> when the file is checked out again.
>
> There are 2 different warnings, either "CRLF will be replaced..." or
> "LF will be replaced...".
>
> Let t0027 check for these warnings:
> call create_file_in_repo() with additional parameters,
> which will be used to call check_warning().
>
> When a file has eol=lf or eol=crlf in .gitattributes, it is handled
> as text and should be normalized.
> Add missing test cases in t0027.
>
> Signed-off-by: Torsten Bögershausen <tboegi@web.de>
> ---

Thanks; nobody seems to have shown interest in this and it fell
through the cracks it seems.  I didn't make a connection to the
previous discussion when I saw this v2, and backburnered it.

The patch is clear that the change to check the expected "X will be
replaced by Y" is added to existing combinations, and also for the
lf & crlf cases the existing tests were not checking earlier.

Will queue.

> Changes since V1:
> - Simplified the diff
> - Fixed a bug (LF_mix_CR.err was mixed with CRLF_mix_LF)
> - Changed the commit message
>  t/t0027-auto-crlf.sh | 82 ++++++++++++++++++++++++++++++++++++++++++----------
>  1 file changed, 66 insertions(+), 16 deletions(-)
>
> diff --git a/t/t0027-auto-crlf.sh b/t/t0027-auto-crlf.sh
> index 2a4a6c1..452320d 100755
> --- a/t/t0027-auto-crlf.sh
> +++ b/t/t0027-auto-crlf.sh
> @@ -55,16 +55,41 @@ create_gitattributes () {
>  	esac
>  }
>  
> +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 ;;
> +	esac
> +}
> +
>  create_file_in_repo () {
>  	crlf=$1
>  	attr=$2
> +	lfname=$3
> +	crlfname=$4
> +	lfmixcrlf=$5
> +	lfmixcr=$6
> +	crlfnul=$7
>  	create_gitattributes "$attr" &&
> +	pfx=crlf_${crlf}_attr_${attr}
>  	for f in LF CRLF LF_mix_CR CRLF_mix_LF CRLF_nul
>  	do
> -		pfx=crlf_${crlf}_attr_${attr}_$f.txt &&
> -		cp $f $pfx && git -c core.autocrlf=$crlf add $pfx
> +		fname=${pfx}_$f.txt &&
> +		cp $f $fname &&
> +		git -c core.autocrlf=$crlf add $fname 2>"${pfx}_$f.err"
>  	done &&
> -	git commit -m "core.autocrlf $crlf"
> +	git commit -m "core.autocrlf $crlf" &&
> +	check_warning "$lfname" ${pfx}_LF.err &&
> +	check_warning "$crlfname" ${pfx}_CRLF.err &&
> +	check_warning "$lfmixcrlf" ${pfx}_CRLF_mix_LF.err &&
> +	check_warning "$lfmixcr" ${pfx}_LF_mix_CR.err &&
> +	check_warning "$crlfnul" ${pfx}_CRLF_nul.err
>  }
>  
>  check_files_in_repo () {
> @@ -140,22 +165,47 @@ test_expect_success 'setup master' '
>  '
>  
>  
> -test_expect_success 'create files' '
> -	create_file_in_repo false "" &&
> -	create_file_in_repo true  "" &&
> -	create_file_in_repo input "" &&
>  
> -	create_file_in_repo false "auto" &&
> -	create_file_in_repo true  "auto" &&
> -	create_file_in_repo input "auto" &&
> +warn_LF_CRLF="LF will be replaced by CRLF"
> +warn_CRLF_LF="CRLF will be replaced by LF"
> +
> +test_expect_success 'add files empty attr' '
> +	create_file_in_repo false ""     ""        ""        ""        ""        "" &&
> +	create_file_in_repo true  ""     "LF_CRLF" ""        "LF_CRLF" ""        "" &&
> +	create_file_in_repo input ""     ""        "CRLF_LF" "CRLF_LF" ""        ""
> +'
> +
> +test_expect_success 'add files attr=auto' '
> +	create_file_in_repo false "auto" ""        "CRLF_LF" "CRLF_LF" ""        "" &&
> +	create_file_in_repo true  "auto" "LF_CRLF" ""        "LF_CRLF" ""        "" &&
> +	create_file_in_repo input "auto" ""        "CRLF_LF" "CRLF_LF" ""        ""
> +'
> +
> +test_expect_success 'add files attr=text' '
> +	create_file_in_repo false "text" ""        "CRLF_LF" "CRLF_LF" ""        "CRLF_LF" &&
> +	create_file_in_repo true  "text" "LF_CRLF" ""        "LF_CRLF" "LF_CRLF" ""        &&
> +	create_file_in_repo input "text" ""        "CRLF_LF" "CRLF_LF" ""        "CRLF_LF"
> +'
> +
> +test_expect_success 'add files attr=-text' '
> +	create_file_in_repo false "-text" ""       ""        ""        ""        "" &&
> +	create_file_in_repo true  "-text" ""       ""        ""        ""        "" &&
> +	create_file_in_repo input "-text" ""       ""        ""        ""        ""
> +'
> +
> +test_expect_success 'add files attr=lf' '
> +	create_file_in_repo false "lf"    ""       "CRLF_LF" "CRLF_LF"  ""       "CRLF_LF" &&
> +	create_file_in_repo true  "lf"    ""       "CRLF_LF" "CRLF_LF"  ""       "CRLF_LF" &&
> +	create_file_in_repo input "lf"    ""       "CRLF_LF" "CRLF_LF"  ""       "CRLF_LF"
> +'
>  
> -	create_file_in_repo false "text" &&
> -	create_file_in_repo true  "text" &&
> -	create_file_in_repo input "text" &&
> +test_expect_success 'add files attr=crlf' '
> +	create_file_in_repo false "crlf" "LF_CRLF" ""        "LF_CRLF" "LF_CRLF" "" &&
> +	create_file_in_repo true  "crlf" "LF_CRLF" ""        "LF_CRLF" "LF_CRLF" "" &&
> +	create_file_in_repo input "crlf" "LF_CRLF" ""        "LF_CRLF" "LF_CRLF" ""
> +'
>  
> -	create_file_in_repo false "-text" &&
> -	create_file_in_repo true  "-text" &&
> -	create_file_in_repo input "-text" &&
> +test_expect_success 'create files cleanup' '
>  	rm -f *.txt &&
>  	git reset --hard
>  '

      reply	other threads:[~2014-12-05 23:15 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-30 20:15 [PATCH v2] t0027: check the eol conversion warnings Torsten Bögershausen
2014-12-05 23:15 ` Junio C Hamano [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=xmqqfvctofhy.fsf@gitster.dls.corp.google.com \
    --to=gitster@pobox.com \
    --cc=git@vger.kernel.org \
    --cc=tboegi@web.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.