Function: vc-diff-outgoing-base

vc-diff-outgoing-base is an autoloaded, interactive and byte-compiled function defined in vc.el.gz.

Signature

(vc-diff-outgoing-base &optional UPSTREAM-LOCATION FILESET)

Documentation

Report changes to VC fileset since the merge base with UPSTREAM-LOCATION.

The merge base with UPSTREAM-LOCATION means the common ancestor of the working revision and UPSTREAM-LOCATION. Uncommitted changes are included in the diff.

When unspecified UPSTREAM-LOCATION is the place C-x v P (vc-push) would push to. This default meaning for UPSTREAM-LOCATION may change in a future release of Emacs.

When called interactively with a prefix argument, prompt for UPSTREAM-LOCATION. In some version control systems, UPSTREAM-LOCATION can be a remote branch name.

This command is like to vc-diff-outgoing except that it includes uncommitted changes.

View in manual

Probably introduced at or before Emacs version 31.1.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/vc/vc.el.gz
;;;###autoload
(defun vc-diff-outgoing-base (&optional upstream-location fileset)
  "Report changes to VC fileset since the merge base with UPSTREAM-LOCATION.

The merge base with UPSTREAM-LOCATION means the common ancestor of the
working revision and UPSTREAM-LOCATION.
Uncommitted changes are included in the diff.

When unspecified UPSTREAM-LOCATION is the place \\[vc-push] would push
to.  This default meaning for UPSTREAM-LOCATION may change in a future
release of Emacs.

When called interactively with a prefix argument, prompt for
UPSTREAM-LOCATION.  In some version control systems, UPSTREAM-LOCATION
can be a remote branch name.

This command is like to `vc-diff-outgoing' except that it includes
uncommitted changes."
  (interactive (list (vc--maybe-read-upstream-location) nil))
  (let* ((fileset (or fileset (vc-deduce-fileset t)))
         (backend (car fileset))
         (incoming (vc--incoming-revision backend upstream-location)))
    (vc-diff-internal vc-allow-async-diff fileset
                      (vc-call-backend backend 'mergebase incoming)
                      nil
                      (called-interactively-p 'interactive))))