Hi Torsten, On Tue, 9 Aug 2016, Torsten Bögershausen wrote: > > git -c core.autocrlf=$crlf add $fname >"${pfx}_$f.err" 2>&1 > > > > would make more sense. We _know_ that we have to do convert_to_git() in > > that step because the content is changed. And then you can ignore the > > warnings from "git commit" (which are racy), or you can simply commit as > > a whole later, as some other loops do. > > > > But like Dscho, I do not actually understand what this test is checking. > > The function is called commit_chk_wrnNNO(), so perhaps you really are > > interested in what "commit" has to say. But IMHO that is not an > > interesting test. We know that if it has to read the content from disk, > > it will call convert_to_git(), which is the exact same code path used by > > "git add". So I do not understand what it is accomplishing to make a > > commit at all here. > > It seems as if the test has been written without understanding the raciness. > It should commit files with different line endings on top of > a file with mixed line endings. > The warning should be checked (and here "git add" can be used, > or the file can be commited directly). > I'm not sure why the test ended up in doing both. > > However, doing it the right way triggers a bug in convert.c, > (some warnings are missing, so I need some days to come up > with a proper patch) FWIW I would strongly prefer to use the warning of `git add` and not even bother with `git commit`. What we are interested in is the warning message, generated by convert_to_git(). Not using the first one and triggering a second one merely adds unnecessary churn that increases the CO2 budget of running the test. On that matter, I wonder whether there would be a chance to revamp t0027 in a major way, with the following goals: - to make it very obvious to the casual reader what is being tested - to combine Git invocations when possible, e.g. running one big `git add` on a couple of files and then verify the relevant parts of the output - dramatically decreasing the time required to run the test, without sacrificing correctness (I would wager a bet that not only a few of those 1388 test cases essentially exercise identical code paths) Ciao, Dscho