Function: vc-bzr-merge-branch

vc-bzr-merge-branch is a byte-compiled function defined in vc-bzr.el.gz.

Signature

(vc-bzr-merge-branch)

Documentation

Merge another Bzr branch into the current one.

Prompt for the Bzr command to run, providing a pre-defined merge source (an upstream branch or a previous merge source) as a default if it is available.

Source Code

;; Defined in /usr/src/emacs/lisp/vc/vc-bzr.el.gz
(defun vc-bzr-merge-branch ()
  "Merge another Bzr branch into the current one.
Prompt for the Bzr command to run, providing a pre-defined merge
source (an upstream branch or a previous merge source) as a
default if it is available."
  (let* ((branch-conf (vc-bzr-branch-conf default-directory))
	 ;; "bzr merge" without an argument defaults to submit_branch,
	 ;; then parent_location.  Extract the specific location and
	 ;; add it explicitly to the command line.
	 (setting nil)
	 (location
	  (cond
	   ((setq setting (assoc "submit_branch" branch-conf))
	    (cdr setting))
	   ((setq setting (assoc "parent_location" branch-conf))
	    (cdr setting))))
	 (cmd
	  (split-string
	   (read-shell-command
	    "Bzr merge command: "
	    (concat vc-bzr-program " merge --pull"
		    (if location (concat " " location) ""))
	    'vc-bzr-history)
	   " " t))
	 (vc-bzr-program (car  cmd))
	 (command        (cadr cmd))
	 (args           (cddr cmd)))
    (let ((buf (apply #'vc-bzr-async-command command args)))
      (with-current-buffer buf (vc-run-delayed (vc-compilation-mode 'bzr)))
      (vc-set-async-update buf))))