From: Eric Sunshine Date: Sun, 15 May 2016 06:15:15 GMT Subject: Re: [PATCH/RFC v1 1/1] No duplicate CRLF rewrite warnings on commit Message-ID: In-Reply-To: <1463292503-12559-1-git-send-email-tboegi@web.de> On Sun, May 15, 2016 at 2:08 AM, wrote: > If .gitattributes are used to enable CRLF->LF rewriting, > then commiting a file that would have its line endings rewritten, > the "CRLF will be replaced by LF" warning is printed 2 times. > A user expects it to be printed only once. > The automatic rename detection by Git runs the conversion twice, > suppress the warning in the second run. > > Reported-By: Adam Dinwoodie > Signed-off-by: Torsten Bögershausen > --- > diff --git a/t/t0020-crlf.sh b/t/t0020-crlf.sh > @@ -86,6 +86,20 @@ test_expect_success 'safecrlf: print warning only once' ' > +test_expect_success 'safecrlf: print warning only once on commit' ' > + > + git config core.autocrlf input && > + git config core.safecrlf warn && > + > + for w in I am all LF; do echo $w; done >doublewarn2 && I would typically say something about how you could instead use: test_write_lines I am all LF >doublewarn2 && but since you're just mimicking existing style in this script, I won't mention it. > + git add doublewarn2 && > + git commit -m "nowarn" && > + for w in Oh here is CRLFQ in text; do echo $w; done | q_to_cr >doublewarn2 && Likewise; note my silence. > + git add doublewarn2 2>&1 && > + git commit -m Message 2>&1 | grep "CRLF will be replaced by LF" >actual && > + echo "warning: CRLF will be replaced by LF in doublewarn2." >expected && > + test_cmp expected actual > +'