Function: ediff-merge-directories

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

Signature

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

Documentation

Run Ediff on a pair of directories, DIR1 and DIR2, merging files that have the same name in both. The third 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

Source Code

;; Defined in /usr/src/emacs/lisp/vc/ediff.el.gz
;;;###autoload
(defun ediff-merge-directories (dir1 dir2 regexp &optional merge-autostore-dir)
  "Run Ediff on a pair of directories, DIR1 and DIR2, merging files that have
the same name in both.  The third 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 'must-match))
	   (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-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 nil regexp #'ediff-merge-files 'ediff-merge-directories
   nil merge-autostore-dir
   ))