Function: ediff-merge-directories-with-ancestor

ediff-merge-directories-with-ancestor is an autoloaded, interactive and byte-compiled function defined in ediff.el.gz.

Signature

(ediff-merge-directories-with-ancestor DIR1 DIR2 ANCESTOR-DIR REGEXP &optional MERGE-AUTOSTORE-DIR)

Documentation

Merge files in DIR1 and DIR2 using files in ANCESTOR-DIR as ancestors.

Ediff merges files that have identical names in DIR1, DIR2. If a pair of files in DIR1 and DIR2 doesn't have an ancestor in ANCESTOR-DIR, Ediff will merge without ancestor. The fourth argument, REGEXP, is nil or a regular expression; only file names that match the regexp are considered. MERGE-AUTOSTORE-DIR is the directory in which to store merged files.

Key Bindings

Aliases

edirs-merge-with-ancestor

Source Code

;; Defined in /usr/src/emacs/lisp/vc/ediff.el.gz
;;;###autoload
(defun ediff-merge-directories-with-ancestor (dir1 dir2 ancestor-dir regexp
						   &optional
						   merge-autostore-dir)
  "Merge files in DIR1 and DIR2 using files in ANCESTOR-DIR as ancestors.
Ediff merges files that have identical names in DIR1, DIR2.  If a pair of files
in DIR1 and DIR2 doesn't have an ancestor in ANCESTOR-DIR, Ediff will merge
without ancestor.  The fourth argument, REGEXP, is nil or a regular expression;
only file names that match the regexp are considered.
MERGE-AUTOSTORE-DIR is the directory in which to store merged files."
  (interactive
   (let ((dir-A (ediff-get-default-directory-name))
	 (default-regexp (eval ediff-default-filtering-regexp t))
	 f)
     (list (setq f (read-directory-name "Directory A to merge:" dir-A nil))
	   (setq f (read-directory-name "Directory B to merge:"
				 (if ediff-use-last-dir
				     ediff-last-dir-B
				   (ediff-strip-last-dir f))
				 nil 'must-match))
	   (read-directory-name "Ancestor directory:"
				 (if ediff-use-last-dir
				     ediff-last-dir-C
				   (ediff-strip-last-dir f))
				 nil 'must-match)
	   (read-string
	    (format-prompt "Filter filenames through regular expression"
			   default-regexp)
	    nil
	    'ediff-filtering-regexp-history
	    (eval ediff-default-filtering-regexp t))
	   )))
  (ediff-directories-internal
   dir1 dir2 ancestor-dir regexp
   #'ediff-merge-files-with-ancestor 'ediff-merge-directories-with-ancestor
   nil merge-autostore-dir
   ))