Re: 3-way merge mode



On 23 September 2012 19:07, Piotr Piastucki <leech miranda gmail com> wrote:
> On 09/23/2012 04:40 AM, Kai Willadsen wrote:
>>
>> Brilliant, thanks! Those are exactly the kinds of changes I was looking
>> for. I also suspect that we can do even better. Your set_merge_output()
>> changes actually look like fixes that could be applied to FileDiff. Also, it
>> looks to me like we no longer need the hidden buffer. I've attached the
>> changes; let me know if they look sane. The manual text and buffer handling
>> in FileMerge._merge_files should probably be replaced with
>> FileDiff.buffer_texts and FileDiff.buffer_filtered usage; this should avoid
>> some of the unicode line-splitting issues we've had over the years. While a
>> UI would be nice, I think most people will use this feature from the
>> command-line. With these clean-ups (and a bit of testing) I'm very happy to
>> advertise this as a feature. cheers, Kai
>
>
> Hi Kai,
>
> The reason for introducing a hidden buffer was to avoid the effect of middle
> pane content changing. This can be seen whenever there are any changes to
> merge at the beginning of the file. You will see the original content of the
> ancestor file first and once the merge is completed it will be replaced by
> the result of the merge. Apart from addressing this visual glitch the hidden
> buffer is not really needed.

Yeah, I did notice that. I'm attaching a patch that fixes the flash
differently, by giving the merge TextView a blank buffer that is
discarded once the merge is finished.

Also, I've attached a fairly straightforward conversion for the merger
to use the BufferLines objects we already have lying around.

If you could test these to see that nothing else has gone astray, I'm
happy to push the whole series.

cheers,
Kai

Attachment: 0004-Avoid-flash-of-pre-merging-text-in-auto-merge-mode.patch
Description: Binary data

Attachment: 0005-Use-BufferLines-shims-in-merging-to-avoid-Unicode-li.patch
Description: Binary data

Attachment: 0006-Minor-cleanups.patch
Description: Binary data



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]