From: Andy Parkins <andyparkins@gmail.com>
To: git@vger.kernel.org
Cc: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Subject: Re: Bug-ish: CRLF endings and conflict markers
Date: Thu, 11 Jan 2007 11:36:22 +0000 [thread overview]
Message-ID: <200701111136.23864.andyparkins@gmail.com> (raw)
In-Reply-To: <Pine.LNX.4.63.0701111043440.22628@wbgn013.biozentrum.uni-wuerzburg.de>
On Thursday 2007 January 11 09:46, Johannes Schindelin wrote:
> > The best solution is probably to use the line ending of the conflicted
> > lines.
>
> Question is: how to find out. Especially if your file already has mixed
> line endings...
That's why I said use the line endings of the conflicted lines. Even if the
file is mixed, at least lines added are the same as the ones near them.
Let's say for example a conflict like this:
<<<<
Whole file has DOS endings^M
====
The whole file has DOS endings^M
>>>>
As both of the conflicted parts end in CRLF, the conflict markers would
default to having CRLF. This would cope with mixed-ending files as well, as
the ending is always determined locally.
If we were being really clever, we could make each marker use the ending of
the line following it; making it impossible to accuse git of doing anything
worse than already existed.
> No. It would be in xdiff/xmerge.c:{139,147,160}. But I think that xdiff
Thanks; I see why I couldn't find it: it's generated as a loop "marker_size"
long, rather than the literal that is in rerere. I've had a quick glance at
xdl_fill_merge_buffer() and can see it's not an easy thing to do (at least
for me). Maybe if it itches me a bit more I'll put some effort into my
scratching :-)
> really is LF-only throughout, so you'd have to do much more work anyway.
That doesn't seem to be a problem. git is performing very nicely on the CR-LF
file I'm tracking. As I mentioned, it's treating the CR as just another
character on the line - perfect: merges, diffs, diffstats all work just fine.
Andy
--
Dr Andy Parkins, M Eng (hons), MIEE
andyparkins@gmail.com
next prev parent reply other threads:[~2007-01-11 11:36 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-01-11 9:41 Bug-ish: CRLF endings and conflict markers Andy Parkins
2007-01-11 9:46 ` Johannes Schindelin
2007-01-11 11:36 ` Andy Parkins [this message]
2007-01-11 9:50 ` Shawn O. Pearce
2007-01-11 9:59 ` Johannes Schindelin
2007-01-11 10:16 ` Shawn O. Pearce
2007-01-11 10:26 ` Johannes Schindelin
2007-01-11 10:41 ` Shawn O. Pearce
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200701111136.23864.andyparkins@gmail.com \
--to=andyparkins@gmail.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox