Function: vc-root-diff-unintegrated

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

Signature

(vc-root-diff-unintegrated &optional UPSTREAM-LOCATION)

Documentation

Report diff of all changes 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.)

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-root-diff-unintegrated (&optional upstream-location)
  "Report diff of all changes 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.)"
  (interactive (list (vc--maybe-read-outgoing-base)))
  (vc--with-backend-in-rootdir "VC root-diff"
    (vc-diff-unintegrated upstream-location `(,backend (,rootdir)))))