Commit 61158bfa authored by Dan Nicolaescu's avatar Dan Nicolaescu
Browse files

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.
parent 5828f6ca
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.
......
......@@ -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)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment