changeset 108891:3e41dbf56aa2

vc-log-incoming/vc-log-outgoing fixes for Git. * lisp/vc-git.el (vc-git-log-view-mode): Fix font lock for incoming/outgoing logs. (vc-git-log-outgoing, vc-git-log-incoming): Use @{upstream} instead of vc-git-compute-remote. (vc-git-compute-remote): Remove.
author Dan Nicolaescu <dann@ics.uci.edu>
date Sat, 05 Jun 2010 02:56:22 -0700
parents d9257436d2b1
children d86e65007470 a357e3f2e91f
files etc/NEWS lisp/ChangeLog lisp/vc-git.el
diffstat 3 files changed, 17 insertions(+), 22 deletions(-) [+]
line wrap: on
line diff
--- a/etc/NEWS	Sat Jun 05 02:41:32 2010 +0200
+++ b/etc/NEWS	Sat Jun 05 02:56:22 2010 -0700
@@ -167,6 +167,8 @@
 **** vc-log-incoming for Git runs "git fetch" so that the necessary
 data is available locally.
 
+**** vc-log-incoming and vc-log-outgoing for Git require version 1.7 (or newer).
+
 *** New key bindings: C-x v I and C-x v O bound to vc-log-incoming and
 vc-log-outgoing, respectively.
 
--- a/lisp/ChangeLog	Sat Jun 05 02:41:32 2010 +0200
+++ b/lisp/ChangeLog	Sat Jun 05 02:56:22 2010 -0700
@@ -1,3 +1,12 @@
+2010-06-05  Dan Nicolaescu  <dann@ics.uci.edu>
+
+	vc-log-incoming/vc-log-outgoing fixes for Git.
+	* vc-git.el (vc-git-log-view-mode): Fix font lock for
+	incoming/outgoing logs.
+	(vc-git-log-outgoing, vc-git-log-incoming): Use @{upstream}
+	instead of vc-git-compute-remote.
+	(vc-git-compute-remote): Remove.
+
 2010-06-04  Juri Linkov  <juri@jurta.org>
 
 	* simple.el (kill-new): Fix logic of kill-do-not-save-duplicates.
--- a/lisp/vc-git.el	Sat Jun 05 02:41:32 2010 +0200
+++ b/lisp/vc-git.el	Sat Jun 05 02:56:22 2010 -0700
@@ -606,31 +606,15 @@
 		(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"
    "--no-color" "--graph" "--decorate" "--date=short"
-   "--pretty=tformat:%d%h  %ad  %s" "--abbrev-commit" 
+   "--pretty=tformat:%d%h  %ad  %s" "--abbrev-commit"
    (concat (if (string= remote-location "")
-	       (vc-git-compute-remote)
+	       "@{upstream}"
 	     remote-location)
 	   "..HEAD")))
 
@@ -641,9 +625,9 @@
    buffer 0 nil
    "log" 
    "--no-color" "--graph" "--decorate" "--date=short"
-   "--pretty=tformat:%d%h  %ad  %s" "--abbrev-commit" 
+   "--pretty=tformat:%d%h  %ad  %s" "--abbrev-commit"
    (concat "HEAD.." (if (string= remote-location "")
-			(vc-git-compute-remote)
+			"@{upstream}"
 		      remote-location))))
 
 (defvar log-view-message-re)
@@ -657,11 +641,11 @@
   (set (make-local-variable 'log-view-file-re) "\\`a\\`")
   (set (make-local-variable 'log-view-per-file-logs) nil)
   (set (make-local-variable 'log-view-message-re)
-       (if (eq vc-log-view-type 'short)
+       (if (not (eq vc-log-view-type 'long))
 	   "^\\(?:[*/\\| ]+ \\)?\\(?: ([^)]+)\\)?\\([0-9a-z]+\\)  \\([-a-z0-9]+\\)  \\(.*\\)"
 	 "^commit *\\([0-9a-z]+\\)"))
   (set (make-local-variable 'log-view-font-lock-keywords)
-       (if (eq vc-log-view-type 'short)
+       (if (not (eq vc-log-view-type 'long))
 	   '(
 	     ;; Same as log-view-message-re, except that we don't
 	     ;; want the shy group for the tag name.