Am 10.01.2011 14:00, schrieb Erik Faye-Lund: > On Mon, Jan 10, 2011 at 1:11 PM, Erik Faye-Lund <kusmabite@xxxxxxxxx> wrote: >> test. So now I've got to figure out what is different between your >> test and mine. Perhaps I misdiagnosed to begin with? >> > > No, it doesn't quite seem like I misdiagnosed, but your test had > different expectations than I have after reading the documentation. I > expected core.autocrlf=true + core.eol=lf to pretty much be identical > to core.autocrlf=false, but only because LF->LF conversion is a NOP. > > 'core.autocrlf' is documented as meaning the same as setting the > 'text' attribute to 'auto' for all files, plus "files that contain > CRLF in the repository will not be touched". I figured that last part > shouldn't affect me as I only had LFs in the repository. > > If I disable core.autocrlf, I get what I want (no matter what I set > core.eol to, it seems). But I still don't understand WHY > core.autocrlf=true + core.eol=lf outputs CRLF. > > It seems to me that there's a big gap between what the documentation > claims and what actually happens here. Having stared a bit at the test results, I think you only need to accept that setting core.autocrlf=true during output overrules any core.eol setting and gives you CRLF line endings no matter what's in the repository. core.autocrlf=input overrules core.eol, too, in that no output conversion takes place, no matter what the latter is set to. I don't know if this is intended or even useful -- I don't use the options myself, so I don't grok the possible use cases. Perhaps something like this can help? Or do we need code changes? diff --git a/Documentation/config.txt b/Documentation/config.txt index ff7c225..6082f77 100644 --- a/Documentation/config.txt +++ b/Documentation/config.txt @@ -202,7 +202,7 @@ core.eol:: 'lf', 'crlf' and 'native', which uses the platform's native line ending. The default value is `native`. See linkgit:gitattributes[5] for more information on end-of-line - conversion. + conversion. This variable is ignored if `core.autocrlf` is set. core.safecrlf:: If true, makes git check if converting `CRLF` is reversible when @@ -257,7 +257,8 @@ core.autocrlf:: setting if you want to have `CRLF` line endings in your working directory even though the repository does not have normalized line endings. This variable can be set to 'input', - in which case no output conversion is performed. + in which case no output conversion is performed. This variable + overrules `core.eol`. core.symlinks:: If false, symbolic links are checked out as small plain files that -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html