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

Re: [PATCH 0/2] git-merge: ignore space support

From
Justin Frankel <justin@cockos.com>
Date
Aug 23, 2010, 20:34 UTC
Message-ID
<4C72DB45.1080902@cockos.com>
In-Reply-To
<20100823193300.GA2120@burratino>
Jonathan Nieder wrote:
Show 28 quoted lines
> (+cc: Eyvind Bernhardsen, resident scholar on LF/CRLF conflicts)
>
> Hi!
>
> Justin Frankel wrote:
>
>   
>> I've added  support for merging with ignoring line endings (specifically 
>> --ignore-space-at-eol) when using recursive merging.  I've added this as a 
>> strategy-option, so that you can do:
>>
>>    git merge --strategy-option=ignore-space-at-eol <branch>
>>
>> and
>>
>>    git rebase --strategy-option=ignore-space-at-eol <branch>
>>
>> The only option I needed was ignore-space-at-eol, however it made some sense (to 
>> me at least) to include the other xdiff options  (ignore-space-change, 
>> ignore-all-space, patient).
>>     
>
> Interesting.  The idea seems sane, provided it copes with edge cases
> well (haven't checked the code yet).
>
> I have even wished for a "merge -Xpatience" from time to time.
>
>   

I've mostly used it for dealing with a bunch of mixed-line-ending files (Xcode 3.1 has a nasty habit of converting all CRLFs to LFs, and VC6 tends to just use CRLFs for inserted lines). For my tests it has worked very well. I'm not completely sure of the implications -- if you start merging code with various line endings, you probably end up with an annoying mix of them, forcing you to use -Xignore-space-at-eol for all future merges on those files.. So it is probably worth discouraging use of this, but is also a lifesaver if you have existing code that is messy.

Show 23 quoted lines
>> Which branches should we derive from for things like this? The first patch is 
>> for master, the second for next (there were enough changes in ll-merge that 
>> the implementations are a bit different).
>>     
>
> See Documentation/SubmittingPatches, section labelled "Decide what to
> base your work on".
>
> Generally the rule is to develop features against "master", or on top
> of a relevant topic branch from "next" or "pu" if your implementation
> requires features from it (or if it is likely to create heavy
> conflicts).
>
> If the patches seem sane, is it all right if we forge your sign-off?  (See
> Documentation/SubmittingPatches for what this means.)
>
> Since the threading does not seem to have worked correctly, here are
> the patches, for reference.
>
> for master: http://thread.gmane.org/gmane.comp.version-control.git/154166
> for next: http://thread.gmane.org/gmane.comp.version-control.git/154167
>
>   

Thank you for pointing to me to this file (I had looked a bunch of places on the web but didn't think to look at the Documentation, shame on me). If you like I can clean up some stuff I did wrong (including the commit messages, as well as it appears some of my lines have indentation with spaces instead of tabs), and sign-off and resend.

Thank you again for the explanation and help, I very much appreciate your time.

-Justin
Previous: Jonathan Nieder
Message 3 of 3 in “git-merge: ignore space support”
  1. 0/2 git-merge: ignore space supportJustin Frankel, Aug 22, 2010
  2. Jonathan NiederAug 23, 2010
  3. Justin FrankelAug 23, 2010

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.