From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Dave Abrahams Newsgroups: gmane.emacs.help Subject: ediff-merge ancestor refinement Date: Thu, 14 Jul 2011 16:09:08 -0400 Message-ID: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1310675509 23501 80.91.229.12 (14 Jul 2011 20:31:49 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Thu, 14 Jul 2011 20:31:49 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Thu Jul 14 22:31:45 2011 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1QhSZU-0008IX-Qj for geh-help-gnu-emacs@m.gmane.org; Thu, 14 Jul 2011 22:31:44 +0200 Original-Received: from localhost ([::1]:56743 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QhSZT-0007SR-Be for geh-help-gnu-emacs@m.gmane.org; Thu, 14 Jul 2011 16:31:43 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:36948) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QhSDx-00029U-6f for help-gnu-emacs@gnu.org; Thu, 14 Jul 2011 16:09:32 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QhSDs-0003Gl-1L for help-gnu-emacs@gnu.org; Thu, 14 Jul 2011 16:09:28 -0400 Original-Received: from lo.gmane.org ([80.91.229.12]:39704) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QhSDr-0003GZ-JO for help-gnu-emacs@gnu.org; Thu, 14 Jul 2011 16:09:23 -0400 Original-Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1QhSDp-0004PM-I0 for help-gnu-emacs@gnu.org; Thu, 14 Jul 2011 22:09:21 +0200 Original-Received: from 207-172-223-249.c3-0.smr-ubr3.sbo-smr.ma.static.cable.rcn.com ([207.172.223.249]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 14 Jul 2011 22:09:21 +0200 Original-Received: from dave by 207-172-223-249.c3-0.smr-ubr3.sbo-smr.ma.static.cable.rcn.com with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 14 Jul 2011 22:09:21 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 48 Original-X-Complaints-To: usenet@dough.gmane.org X-Gmane-NNTP-Posting-Host: 207-172-223-249.c3-0.smr-ubr3.sbo-smr.ma.static.cable.rcn.com User-Agent: Gnus/5.110018 (No Gnus v0.18) Emacs/23.3 (darwin) Cancel-Lock: sha1:+SDieUQlLJPvHMbCeQzq3G+JKLI= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 80.91.229.12 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:81589 Archived-At: Hi, 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 Add(&ActiveBlocks[AddedTo], ActiveBlocks.size() - AddedTo); addThroughConstraints(Intf, Add); >>>>>>> variant B if (ActiveBlocks.size() == AddedTo) break; addThroughConstraints(Cand.Intf, ArrayRef(ActiveBlocks).slice(AddedTo)); ####### Ancestor if (ActiveBlocks.size() == AddedTo) break; addThroughConstraints(Intf, ArrayRef(ActiveBlocks).slice(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 buffer. | 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 http://www.boostpro.com