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

From: Maxim Kim <[email-masked]>
Date: Tue, 22 Aug 2023 09:10:44 +1000

Eli Zaretskii <[email-masked]> writes:

> Then this should set up EOL conversion correctly for the temporary
> file.  Something like (untested):
>
>         (let ((patch-file (make-nearby-temp-file "git-patch")))
>           (with-temp-file patch-file
>             (insert vc-git-patch-string)
>             (set-buffer-file-coding-system 'unix)))
>           (unwind-protect
>               (vc-git-command nil 0 patch-file "apply" "--cached")

This didn't help, I get exact same error.

File I am changing has:

    U -- utf-8-unix (alias: mule-utf-8-unix cp65001-unix)

    UTF-8 (no signature (BOM))
    Type: utf-8 (UTF-8: Emacs internal multibyte form)
    EOL type: LF
    This coding system encodes the following charsets:
      unicode

Current ~/.gitconfig:

    [user]
            name = Maxim Kim
            email = [email-masked]
    [core]
            autocrlf = false
            quotepath = off
    [credential]
            helper = manager-core
    [commit]
            verbose = true
    [pull]
            rebase = true
    [github]
            user = habamax

In fact, I get the same error with the fresh repo:

1. mkdir ~/prj/test
2. cd ~/prj/test
3. git init
4. open emacs and create a new text file with "hello" line.
5. C-x v v to register it in vc
6. C-x v v for vc-log, add summary, commit with C-c C-c
7. Add a new line to text file, save
8. C-x v D to get vc-root-diff
9. C-x v v for vc-log and add Summary
10. C-c C-c to commit

And it fails even though autocrlf=false and the file in question has LF.

With or without the patch.