Function: ediff-vc-merge-internal
ediff-vc-merge-internal is a byte-compiled function defined in
ediff-vers.el.gz.
Signature
(ediff-vc-merge-internal REV1 REV2 ANCESTOR-REV &optional STARTUP-HOOKS MERGE-BUFFER-FILE)
Source Code
;; Defined in /usr/src/emacs/lisp/vc/ediff-vers.el.gz
;;; Merge with Version Control
(defun ediff-vc-merge-internal (rev1 rev2 ancestor-rev
&optional startup-hooks merge-buffer-file)
;; If ANCESTOR-REV non-nil, merge with ancestor
(let ((vc-find-revision-no-save t)
buf1 buf2 ancestor-buf)
(save-window-excursion
(save-excursion
(vc-revision-other-window rev1)
(setq buf1 (current-buffer)))
(save-excursion
(or (string= rev2 "")
(vc-revision-other-window rev2))
(setq buf2 (current-buffer)))
(if ancestor-rev
(save-excursion
(if (string-empty-p ancestor-rev)
(setq ancestor-rev
(vc-symbolic-working-revision buffer-file-name)))
(vc-revision-other-window ancestor-rev)
(setq ancestor-buf (current-buffer)))))
(if ancestor-rev
(ediff-merge-buffers-with-ancestor
buf1 buf2 ancestor-buf
startup-hooks 'ediff-merge-revisions-with-ancestor merge-buffer-file)
(ediff-merge-buffers
buf1 buf2 startup-hooks 'ediff-merge-revisions merge-buffer-file))
))