diff --git a/doc/emacs/maintaining.texi b/doc/emacs/maintaining.texi index 6ceda6d7a5..6857e67def 100644 --- a/doc/emacs/maintaining.texi +++ b/doc/emacs/maintaining.texi @@ -1041,13 +1041,14 @@ VC Change Log (@code{vc-log-incoming}) command displays a log buffer showing the changes that will be applied, the next time you run the version control system's pull command to get new revisions from another -repository (@pxref{Pulling / Pushing}). This other repository is the default +remote location (@pxref{Pulling / Pushing}). This other remote location is the default one from which changes are pulled, as defined by the version control system; with a prefix argument, @code{vc-log-incoming} prompts for a -specific repository. Similarly, @kbd{C-x v O} +specific remote location. Similarly, @kbd{C-x v O} (@code{vc-log-outgoing}) shows the changes that will be sent to -another repository, the next time you run the push command; with a -prefix argument, it prompts for a specific destination repository. +another remote location, the next time you run the push command; with a +prefix argument, it prompts for a specific destination that +in case of some version control system can be a branch name. @cindex VC log buffer, commands in @cindex vc-log buffer diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el index a45e0e0c52..e039095255 100644 --- a/lisp/vc/vc.el +++ b/lisp/vc/vc.el @@ -2772,7 +2772,8 @@ vc-print-branch-log ;;;###autoload (defun vc-log-incoming (&optional remote-location) "Show log of changes that will be received with pull from REMOTE-LOCATION. -When called interactively with a prefix argument, prompt for REMOTE-LOCATION." +When called interactively with a prefix argument, prompt for REMOTE-LOCATION. +In some version control systems REMOTE-LOCATION can be a remote branch name." (interactive (when current-prefix-arg (list (read-string "Remote location (empty for default): ")))) @@ -2785,7 +2786,8 @@ vc-log-incoming ;;;###autoload (defun vc-log-outgoing (&optional remote-location) "Show log of changes that will be sent with a push operation to REMOTE-LOCATION. -When called interactively with a prefix argument, prompt for REMOTE-LOCATION." +When called interactively with a prefix argument, prompt for REMOTE-LOCATION. +In some version control systems REMOTE-LOCATION can be a remote branch name." (interactive (when current-prefix-arg (list (read-string "Remote location (empty for default): ")))) diff --git a/lisp/vc/vc-git.el b/lisp/vc/vc-git.el index 2228cf8665..70505d0fbf 100644 --- a/lisp/vc/vc-git.el +++ b/lisp/vc/vc-git.el @@ -1291,7 +1308,12 @@ vc-git-log-outgoing (defun vc-git-log-incoming (buffer remote-location) (vc-setup-buffer buffer) - (vc-git-command nil 0 nil "fetch") + (vc-git-command nil 0 nil "fetch" + (unless (string= remote-location "") + ;; `remote-location' is in format "repository/branch", + ;; so remove everything except a repository name. + (replace-regexp-in-string + "/.*" "" remote-location))) (vc-git-command buffer 'async nil "log"