[Top][All Lists]

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

ediff-merge ancestor refinement

From: Dave Abrahams
Subject: ediff-merge ancestor refinement
Date: Thu, 14 Jul 2011 16:09:08 -0400
User-agent: Gnus/5.110018 (No Gnus v0.18) Emacs/23.3 (darwin)


When I'm doing an ediff-merge, it shows refinement regions of A
with-respect-to B.  But what I'm *really* interested in, when I have a
conflict, is to see the difference between each of the final buffers and
their ancestor.  For example, I had to resolve this merge conflict today:

<<<<<<< variant A
    if (ActiveBlocks.size() > AddedTo) {
      ArrayRef<unsigned> Add(&ActiveBlocks[AddedTo],
                             ActiveBlocks.size() - AddedTo);
      addThroughConstraints(Intf, Add);
>>>>>>> variant B
    if (ActiveBlocks.size() == AddedTo)
####### Ancestor
    if (ActiveBlocks.size() == AddedTo)
======= end

If you look really carefully, you can see that variant B added "Cand."
in the 3rd line.  But it was really hard for me to see that.  Once I did
see it, the merge was trivial.  Wouldn't it be possible to highlight
diffs in A and B with-respect-to the Ancestor buffer?

Hmm, I see we have a face for something like that:

| Face: ediff-fine-diff-Ancestor
| Documentation:
| Face for highlighting the refinement of the selected diff in the ancestor 
| At present, this face is not used and no fine differences are computed for the
| ancestor buffer.

Is this especially hard to code or something?

Dave Abrahams
BoostPro Computing

reply via email to

[Prev in Thread] Current Thread [Next in Thread]