On 04/27/2015 07:47 PM, Junio C Hamano wrote:
> Junio C Hamano <[email protected]> writes:
>
>> I suspect (I haven't looked very carefully for this round yet to be
>> sure, though) that it may turn out that the commit you are proposing
>> to revert was a misguided attempt to "fix" a non issue, or to break
>> the behaviour to match a mistaken expectation. If that is the case
>> then definitely the reversion is a good idea, and you should argue
>> along that line of justification.
>>
>> We'd just be fixing an old misguided and bad change in such a case.
> The original says this:
>
> blame: correctly handle files regardless of autocrlf
>
> If a file contained CRLF line endings in a repository with
> core.autocrlf=input, then blame always marked lines as "Not
> Committed Yet", even if they were unmodified. Don't attempt to
> convert the line endings when creating the fake commit so that blame
> works correctly regardless of the autocrlf setting.
>
> Reported-by: Ephrim Khong <[email protected]>
> Signed-off-by: brian m. carlson <[email protected]>
> Signed-off-by: Junio C Hamano <[email protected]>
>
> But if autocrlf=input, then the end-user expectation is to keep the
> in-repository data with LF line endings. If your tip-of-the-tree
> commit incorrectly has CRLF line endings, and if you were going to
> commit what is in the working tree on top, you would be correcting
> that mistake by turning the in-repository data into a text file with
> LF line endings, so "Not Committed Yet" _is_ the correct behaviour.
>
> So I think that the reverting that change is the right thing to do.
> It really was a change to break the behaviour to match a mistaken
> expectation, I would have to say.
Besides a better commit message (suggestions welcome),
What do you think about the following test cases for a V2 patch ?
test_expect_success 'create blamerepo' '
test_create_repo blamerepo &&
(
cd blamerepo &&
printf "testcase\r\n" >crlffile &&
git -c core.autocrlf=false add crlffile &&
git commit -m "add files" &&
git -c core.autocrlf=false blame crlffile >crlfclean.txt
)
'
test_expect_success 'blaming files with CRLF newlines in repo,
core.autoclrf=input' '
(
cd blamerepo &&
git -c core.autocrlf=input blame crlffile >actual &&
grep "Not Committed Yet" actual
)
'
test_expect_success 'blaming files with CRLF newlines core.autocrlf=true' '
(
cd blamerepo &&
git -c core.autocrlf=true blame crlffile >actual &&
test_cmp crlfclean.txt actual
)
'
test_expect_success 'blaming files with CRLF newlines core.autocrlf=false' '
(
cd blamerepo &&
git -c core.autocrlf=false blame crlffile >actual &&
test_cmp crlfclean.txt actual
)
'
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html