[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Monotone-devel] Re: Text under revision control
From: |
Zack Weinberg |
Subject: |
Re: [Monotone-devel] Re: Text under revision control |
Date: |
Fri, 29 May 2009 12:23:21 -0700 |
On Fri, May 29, 2009 at 12:00 PM, <address@hidden> wrote:
> On Fri, May 29, 2009 at 06:39:18PM +0000, Hendrik Boom wrote:
>> So. Monotone does appear to merge on a line-by-line basis.
>>
>> Too bad for OpenOffice's .fodt file type.
>
> Actually, byte-by-byte or word-by-word probably wouldn't be enough. We'd need
> something that can guarantee to produce valid XML that satisfies Open Document
> Format syntax.
A three-way merge algorithm aware of not only XML but the ODF schema
is definitely out of scope for monotone itself. But I'd be happy to
have a mechanism that could dispatch noninteractive three-way merges
to external tools based on file attributes, file name extensions, or
"magic numbers" in the file contents. (And of course also dispatch
*interactive* conflict resolution requests similarly.)
I could argue either way on the question of whether the default
algorithm should be byte- or word-oriented rather than line-oriented.
It's the usual tradeoff between false conflict and false lack of
conflict -- for our "core competency" of program source code, two
changes that modify the same line could easily be a true conflict even
if they are independent in terms of byte ranges modified. On the
other hand, I've heard plenty of "this is obviously not a conflict,
why did the computer throw a conflict at me" complaints where the
issue was that it wasn't going down to finer than lines, and Ediff's
ability to do byte range comparison within a conflict is very handy.
zw