1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-28 07:45:00 +00:00

Add support for vc-log-incoming, improve vc-log-outgoing for Git.

* lisp/vc-git.el (vc-git-compute-remote): New function.
(vc-git-log-outgoing): Use it instead of hard coding a value.
(vc-git-log-incoming): New function.
This commit is contained in:
Dan Nicolaescu 2010-06-01 03:40:09 -07:00
parent 5828f6cacc
commit 61158bfa57
2 changed files with 32 additions and 3 deletions

View File

@ -1,5 +1,10 @@
2010-06-01 Dan Nicolaescu <dann@ics.uci.edu>
Add support for vc-log-incoming, improve vc-log-outgoing for Git.
* vc-git.el (vc-git-compute-remote): New function.
(vc-git-log-outgoing): Use it instead of hard coding a value.
(vc-git-log-incoming): New function.
Improve state updating for VC tag commands.
* vc.el (vc-create-tag, vc-retrieve-tag): Call vc-resynch-buffer
to update the state of all buffers in the directory.

View File

@ -606,14 +606,38 @@ for the --graph option."
(when start-revision (list start-revision))
'("--")))))))
(defun vc-git-compute-remote ()
(let ((str (with-output-to-string
(with-current-buffer standard-output
(vc-git--out-ok "symbolic-ref" "HEAD"))))
branch remote)
(if (string-match "^\\(refs/heads/\\)?\\(.+\\)$" str)
(progn
(setq branch (match-string 2 str))
(setq remote
(with-output-to-string
(with-current-buffer standard-output
(vc-git--out-ok "config"
(concat "branch." branch ".remote")))))
(when (string-match "\\([^\n]+\\)" remote)
(setq remote (match-string 1 remote)))))))
(defun vc-git-log-outgoing (buffer remote-location)
(interactive)
(vc-git-command
buffer 0 nil
"log" (if (string= remote-location "")
;; FIXME: this hardcodes the location, it should compute
;; it properly.
"origin/master..HEAD"
(concat (vc-git-compute-remote) "..HEAD")
remote-location)))
(defun vc-git-log-incoming (buffer remote-location)
(interactive)
(vc-git-command
buffer 0 nil
"log" (if (string= remote-location "")
(concat "HEAD.." (vc-git-compute-remote))
remote-location)))
(defvar log-view-message-re)