git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] Add testcase for merging in a CRLF repo, showing that conflict file is in LF only

From
Marius Storm-Olsen <marius@trolltech.com>
Date
Jun 9, 2008, 14:46 UTC
Message-ID
<484D424C.3010002@trolltech.com>
In-Reply-To
<484D3225.3020900@viscovery.net>
Johannes Sixt said the following on 09.06.2008 15:37:
Show 7 quoted lines
> Marius Storm-Olsen schrieb:
>> An LF only conflict file results in the resolved file being in LF,
>> the commit is in LF and a warning saying that LF will be replaced
>> by CRLF, and the working dir ends up with a mix of CRLF and LF files.
> 
> After reading these 3 lines I've no idea what you are talking about. Can
> you translate this to English, please? ;-)

Certainly :-) It means that if you work on a repo with core.autocrlf == true, you'd expect every text file to have CRLF EOLs. However, if you by some operation, get a conflict, then the conflicted file has LF EOLs. Now, of course you'd go about resolving the files conflict, and then 'git add <file>'. When you do that, you'll get the warning saying that LF will be replaced by CRLF. Then you commit. The end result is that you have a workingdir with a mix of LF and CRLF files, which after some more operations may trigger a "whole file changed" diff, due to the workingdir file now having LF EOLs.

>>  Sorry, no patch to actually *fix* the problem.
> 
> Then you should use test_expect_failure instead of test_expect_success.
> And maybe also mention it in the commit message.

Well, the test case is written in a way that it *should* pass (iow, it _expects_ a success), but it currently doesn't. So, the goal is that someone, who is more intimate with the code, can just run the testcase until it passes (fixing in between each run, of course ;-)

Show 5 quoted lines
>> +test_expect_success 'Check that conflict file is CRLF' '
>> +	git reset --hard a &&
>> +	! git merge side &&
> 
> 	test_must_fail git merge side &&

Ah, I checked a few other testcases, where I saw the ! construct. I don't mind changing it, if it's important. Does it add 'feature' to the testcase by using test_must_fail, instead of '!' ?

Show 5 quoted lines
>> +	cat file | remove_cr | append_cr >file.temp &&
>> +	test_cmp file file.temp
>> +'
> 
> -- Hannes
Thanks

-- .marius

Previous: Johannes SixtNext: Johannes Sixt
Message 3 of 26 in “Add testcase for merging in a CRLF repo, showing that conflict file is in LF only”
  1. Add testcase for merging in a CRLF repo, showing that conflict file is in LF onlyMarius Storm-Olsen, Jun 9, 2008
  2. Johannes SixtJun 9, 2008
  3. Marius Storm-OlsenJun 9, 2008
  4. Johannes SixtJun 9, 2008
  5. Marius Storm-OlsenJun 9, 2008
  6. 1/2 Add testcase for merging in a CRLF repoJohannes Schindelin, Jun 9, 2008
  7. 2/2 merge-recursive: respect core.autocrlfJohannes Schindelin, Jun 9, 2008
  8. Junio C HamanoJun 9, 2008
  9. merge-recursive: respect core.autocrlfJohannes Schindelin, Jun 9, 2008
  10. Junio C HamanoJun 9, 2008
  11. Johannes SchindelinJun 9, 2008
  12. 0/2 Respecting core.autocrlf when showing objectsMarius Storm-Olsen, Jun 10, 2008
  13. 1/2 Add testcases for verifying that staged files in a conflict are CRLF, when core.autocrlf = trueMarius Storm-Olsen, Jun 10, 2008
  14. 2/2 Ensure that objects shown in a core.autocrlf = true repo have CRLF EOLsMarius Storm-Olsen, Jun 10, 2008
  15. Johannes SchindelinJun 10, 2008
  16. Junio C HamanoJun 10, 2008
  17. Marius Storm-OlsenJun 11, 2008
  18. Jakub NarebskiJun 11, 2008
  19. Johannes SchindelinJun 11, 2008
  20. Marius Storm-OlsenJun 12, 2008
  21. Junio C HamanoJun 12, 2008
  22. J. Bruce FieldsJun 12, 2008
  23. Jakub NarebskiJun 12, 2008
  24. Junio C HamanoJun 12, 2008
  25. Jon LoeligerJun 12, 2008
  26. Marius Storm-OlsenJun 12, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.