threads / discuss / 27146

Using format-patch and apply against files with CRLF line endings

Subject: Using format-patch and apply against files with CRLF line endings

## tl;dr

2 messages between Apr 20, 2011 and Apr 20, 2011.

replies: 1people: 2as markdown or json

Steven E. Harris· Apr 20, 2011, 11:48 UTC · lore

Is it the case that format-patch will always emit text with LF line endings, or is it respecting whatever the host platform considers to be the proper line ending? Is the line ending in use configurable?

I ask because I see that git-p4 uses format-patch and apply internally to apply changes against files in the Perforce workspace, and those files have CRLF line endings, but it looks like format-patch is emitting patches with LF line endings, and none of those patches will apply cleanly.

Perhaps I just need to pipe the output from format-patch through unix2dos before feeding it to apply, but I'm wondering whether I'm barking up the wrong tree here.

-- 
Steven E. Harris
Jay Soffian· Apr 20, 2011, 15:59 UTC · re: Steven E. Harris · lore

Re: Using format-patch and apply against files with CRLF line endings

On Wed, Apr 20, 2011 at 7:48 AM, Steven E. Harris <seh@panix.com> wrote:
Show 13 quoted lines
> Is it the case that format-patch will always emit text with LF line
> endings, or is it respecting whatever the host platform considers to be
> the proper line ending? Is the line ending in use configurable?
>
> I ask because I see that git-p4 uses format-patch and apply internally
> to apply changes against files in the Perforce workspace, and those
> files have CRLF line endings, but it looks like format-patch is emitting
> patches with LF line endings, and none of those patches will apply
> cleanly.
>
> Perhaps I just need to pipe the output from format-patch through
> unix2dos before feeding it to apply, but I'm wondering whether I'm
> barking up the wrong tree here.

The patch emitted by format-patch should have the correct (original) line-endings, but to preserve them when the patch is applied, git-am needs to be called with --keep-cr (also see config option 'am.keepcr').

j.

← back to recent threads