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

Re: How to prepare patch for git am which remove a file ?

From
MMMathieu Malaterre <malat@debian.org>
Date
Nov 20, 2018, 13:08 UTC
Message-ID
<CA+7wUsxGdrYKsoydBk0iwmANM=4qxVJ7NoVv6=E_UPH6FuiaaA@mail.gmail.com>
In-Reply-To
<20181120125520.GZ30222@szeder.dev>
On Tue, Nov 20, 2018 at 1:55 PM SZEDER Gábor <szeder.dev@gmail.com> wrote:
Show 28 quoted lines
>
> On Tue, Nov 20, 2018 at 01:39:40PM +0100, Mathieu Malaterre wrote:
> > Here is a simple setup:
> >
> >   cd /tmp
> >   mkdir g
> >   cd g
> >   git init .
> >   wget http://central.maven.org/maven2/org/apache/xmlgraphics/fop/2.1/fop-2.1.pom
> >   git add fop-2.1.pom
> >   git commit -m "My First Commit"
> >   git rm fop-2.1.pom
> >   git commit -m "Second Commit"
> >   git format-patch HEAD~
> >   git reset --hard HEAD~
> >   git am 0001-Second-Commit.patch
> > Applying: Second Commit
> > error: patch failed: fop-2.1.pom:1
> > error: fop-2.1.pom: patch does not apply
> > Patch failed at 0001 Second Commit
> > hint: Use 'git am --show-current-patch' to see the failed patch
> > When you have resolved this problem, run "git am --continue".
> > If you prefer to skip this patch, run "git am --skip" instead.
> > To restore the original branch and stop patching, run "git am --abort".
> >
> > What is the black magic to get `git am` to understand this patch ?
>
> The file in question uses CRLF line endings.
Ah right, I wasn't paying attention. Thanks.
Show 16 quoted lines
>   $ git am --keep-cr 0001-Second-Commit.patch
>   Applying: Second Commit
>
> For explanation I quote ad2c928001 (git-am: Add command line parameter
> `--keep-cr` passing it to git-mailsplit, 2010-02-27):
>
>   c2ca1d7 (Allow mailsplit (and hence git-am) to handle mails with CRLF
>   line-endings, 2009-08-04) fixed "git mailsplit" to help people with
>   MUA whose output from save-as command uses CRLF as line terminators by
>   stripping CR at the end of lines.
>
>   However, when you know you are feeding output from "git format-patch"
>   directly to "git am", and especially when your contents have CR at the
>   end of line, such stripping is undesirable.  To help such a use case,
>   teach --keep-cr option to "git am" and pass that to "git mailinfo".
>
Previous: SZEDER Gábor
Message 3 of 3 in “How to prepare patch for git am which remove a file ?”
  1. Mathieu MalaterreNov 20, 2018
  2. SZEDER GáborNov 20, 2018
  3. Mathieu MalaterreNov 20, 2018

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.