Subject: bug#65049: Minor update to the repro steps

From: Maxim Kim <[email-masked]>
Date: Tue, 08 Aug 2023 09:17:40 +1000

Eli Zaretskii <[email-masked]> writes:

> Yes, but where did the file git-patchyYAcN5 come from in the first
> place?  It's that file that is the problem, not how we apply the
> diffs in that file.

This file is from the failed attempt of C-x v v

> If you invoke "git diff SOME-FILE > diffs", from the shell prompt,
> where SOME-FILE is a file that is modified wrt the repository's state,
> does the file 'diffs' created by this command have DOS CRLF EOL
> format, or does it have Unix Newline-only EOL format?  Try this with a
> file that has Unix EOLs in the repository.

It has:

    U -- utf-16le-with-signature-dos (alias: utf-16-le-dos)

    UTF-16 (little endian, with signature (BOM)).
    Type: utf-16
    EOL type: CRLF
    This coding system encodes the following charsets:
      unicode

> If Git produces DOS CRLF EOLs when it generates diffs, then that is
> your problem, and it can only be fixed in Git itself: you need to
> configure Git to never perform any EOL conversions:
>
>   $ git config --global core.autocrlf false

I have just did it and it didn't change the outcome -- still same error,
and I have recreated "git diff SOME-FILE > diffs" and it gives the same
output.

This is strange that after the issued command and "git config --list" I
still can see "core.autocrlf=true" even though in the .gitconfig I have
it set to false now (and it was "input" before the change).

"git config --list --show-origin" shows 2 places:

    file:C:/Program Files/Git/etc/gitconfig core.autocrlf=true
    ...
    file:C:/Users/maxim.kim/.gitconfig      core.autocrlf=false

and this is weird git isn't picking up user defined setting
(git version 2.41.0.windows.3).

> This is the only sane setting for multiplatform Git repositories,
> especially if you are using Emacs as your editor, because Emacs always
> preserves the EOL format of a file you edit, even if the EOL format is
> not the "native" one on the platform where you edit the file.
>
> (In general, when you install Git on Windows, select the "as-is"
> option of EOL conversions, then you will not need to perform the above
> "git config" command manually, as this will be set up for you from the
> get-go.)

Let me try to reinstall git and select "as-is" option of EOL conversion

> I'm guessing that I don't see the problem you report because I have
> disabled EOL conversion in Git years ago.

That is probably the case, thanks for your time and help.

Max