Function: vc-diff-unintegrated
vc-diff-unintegrated is an autoloaded, interactive and byte-compiled
function defined in vc.el.gz.
Signature
(vc-diff-unintegrated &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 outgoing base.
For a trunk branch this is always the place C-x v P (vc-push) would push to.
For a topic branch, query the backend for an appropriate outgoing base.
See vc-trunk-or-topic-p regarding the difference between trunk and
topic branches and how Emacs classifies the current branch.
When called interactively with a prefix argument, prompt for UPSTREAM-LOCATION. In some version control systems, UPSTREAM-LOCATION can be a remote branch name.
When called interactively with a C-u (universal-argument) C-u (universal-argument) prefix argument, always
use the place to which C-x v P (vc-push) would push to as the outgoing base,
i.e., treat this branch as a trunk branch even if Emacs thinks it is a
topic branch. (With a double prefix argument, this command is like
vc-diff-outgoing except that it includes uncommitted changes.)
When called from Lisp, optional argument FILESET overrides the fileset.
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-unintegrated (&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 outgoing base.
For a trunk branch this is always the place \\[vc-push] would push to.
For a topic branch, query the backend for an appropriate outgoing base.
See `vc-trunk-or-topic-p' regarding the difference between trunk and
topic branches and how Emacs classifies the current branch.
When called interactively with a prefix argument, prompt for
UPSTREAM-LOCATION. In some version control systems, UPSTREAM-LOCATION
can be a remote branch name.
When called interactively with a \\[universal-argument] \\[universal-argument] \
prefix argument, always
use the place to which \\[vc-push] would push to as the outgoing base,
i.e., treat this branch as a trunk branch even if Emacs thinks it is a
topic branch. (With a double prefix argument, this command is like
`vc-diff-outgoing' except that it includes uncommitted changes.)
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))
fileset)))
(let ((fileset (or fileset (vc-deduce-fileset t))))
(vc-diff-internal vc-allow-async-diff fileset
(vc--outgoing-base-mergebase (car fileset)
upstream-location)
nil
(called-interactively-p 'interactive))))