Function: vc-diff-remote-unintegrated

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

Signature

(vc-diff-remote-unintegrated &optional UPSTREAM-LOCATION FILESET)

Documentation

Show remote fileset changes since merge base with UPSTREAM-LOCATION.

Remote changes are changes in the incoming revision (instead of the working revision), and the merge base with UPSTREAM-LOCATION is the common ancestor of the incoming revision and UPSTREAM-LOCATION. This command only makes sense for decentralized VCS, because otherwise there is no distinction between locally committed changes and remote changes.

When unspecified, UPSTREAM-LOCATION is the outgoing base when this branch is considered as a topic branch (whether or not it actually is). This command with unspecified UPSTREAM-LOCATION only makes sense on topic branches. See vc-trunk-or-topic-p.

When called interactively with a prefix argument, prompt for UPSTREAM-LOCATION, which should be a remote branch name.

When called from Lisp, optional argument FILESET overrides the fileset.

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-remote-unintegrated (&optional upstream-location fileset)
  "Show remote fileset changes since merge base with UPSTREAM-LOCATION.
Remote changes are changes in the incoming revision (instead of the
working revision), and the merge base with UPSTREAM-LOCATION is the
common ancestor of the incoming revision and UPSTREAM-LOCATION.
This command only makes sense for decentralized VCS, because otherwise
there is no distinction between locally committed changes and remote
changes.

When unspecified, UPSTREAM-LOCATION is the outgoing base when this
branch is considered as a topic branch (whether or not it actually is).
This command with unspecified UPSTREAM-LOCATION only makes sense on
topic branches.  See `vc-trunk-or-topic-p'.

When called interactively with a prefix argument, prompt for
UPSTREAM-LOCATION, which should be a remote branch name.

When called from Lisp, optional argument FILESET overrides the fileset."
  (interactive (let ((fileset (vc-deduce-fileset t)))
                 (list (vc--maybe-read-outgoing-base (car fileset)
                                                     'no-double)
                       fileset)))
  (let* ((fileset (or fileset (vc-deduce-fileset t)))
         (backend (car fileset)))
    (vc-diff-internal vc-allow-async-diff fileset
                      (vc--outgoing-base-mergebase backend
                                                   upstream-location
                                                   'refresh 'force-topic)
                      ;; REFRESH nil here because we just refreshed.
                      (vc--incoming-revision backend)
                      (called-interactively-p 'interactive))))