GNU bug report logs - #32388
26.1: ediff-merge-directories-with-ancestor and subdirectories

Previous Next

Package: emacs;

Reported by: Ludovic Brenta <ludovic <at> ludovic-brenta.org>

Date: Tue, 7 Aug 2018 15:10:02 UTC

Severity: minor

Tags: confirmed

Found in versions 27.0.50, 26.1

Full log


View this message in rfc822 format

From: Ludovic Brenta <ludovic <at> ludovic-brenta.org>
To: 32388 <at> debbugs.gnu.org
Subject: bug#32388: 26.1: ediff-merge-directories-with-ancestor and subdirectories
Date: Tue, 07 Aug 2018 16:08:56 +0100
Hello,

Suppose I have set up four directory trees
(by extracting from a version control system):

your_view/foo/bar/baz.c
other/foo/bar/baz.c
ancestor/foo/bar/baz.c
result/foo/bar/baz.c

Each of the four directories can contain many more
subdirectories and files.

Now I start emacs like so:

emacs --eval '(ediff-merge-directories-with-ancestor "your_view" 
"other" "ancestor" "." "result")'

emacs properly starts an ediff session showing the three directories
and defaulting to saving the merge results in "result" (the value of
the fifth parameter, merge-autostore-dir).  The only
entry in this session is the subdirectory "foo".  Moving to "foo"
and hitting RET results in the prompt:

Save merged files in directory: ~/..../your_view/

Inspecting the file ediff-mult.el I see that the function
ediff-filegroup-action (bound to RET in the ediff session
group panel) obtains the merge-autostore-dir from the
ediff-meta-list of this buffer but fails to pass the
merge-autostore-dir as a parameter to
ediff-directories-internal (called at line 1877).

It would be nice if ediff-filegroup-action would infer the
merge-autostore-dir from that of the parent session and the
name of the subdirectories, i.e. "result/foo/" in this case.

This bug (or misfeature) is also present in 24.5.1.

-- 
Ludovic Brenta.





This bug report was last modified 5 years and 315 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.