From: Dan Nicolaescu Date: Sat, 5 Jun 2010 09:56:22 +0000 (-0700) Subject: vc-log-incoming/vc-log-outgoing fixes for Git. X-Git-Tag: emacs-pretest-24.0.90~104^2~275^2~438^2~119 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=eccdfe5fd18f4b573e9eada179242c513b3024b1;p=emacs.git 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. --- diff --git a/etc/NEWS b/etc/NEWS index 683b6597f83..f37356dc032 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -167,6 +167,8 @@ read a file name from the minibuffer instead of using buffer-file-name. **** 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. diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 707bb8ff4c1..8cd1cd39739 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,12 @@ +2010-06-05 Dan Nicolaescu + + 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 * simple.el (kill-new): Fix logic of kill-do-not-save-duplicates. diff --git a/lisp/vc-git.el b/lisp/vc-git.el index 145c44d9b42..62d1940d349 100644 --- a/lisp/vc-git.el +++ b/lisp/vc-git.el @@ -606,31 +606,15 @@ 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" "--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 @@ for the --graph option." 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 @@ for the --graph option." (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.