Mercurial > emacs
changeset 106464:67d9cb4f16c3
* vc-git.el (vc-git-print-log): Handle a limit argument. Display
the short log in graph form and with labels.
(vc-git-log-view-mode): Handle labels.
author | Dan Nicolaescu <dann@ics.uci.edu> |
---|---|
date | Sun, 06 Dec 2009 22:18:03 +0000 |
parents | 783bd2552dd4 |
children | 77b0defca7a3 |
files | lisp/ChangeLog lisp/vc-git.el |
diffstat | 2 files changed, 22 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Sun Dec 06 21:25:55 2009 +0000 +++ b/lisp/ChangeLog Sun Dec 06 22:18:03 2009 +0000 @@ -1,5 +1,9 @@ 2009-12-06 Dan Nicolaescu <dann@ics.uci.edu> + * vc-git.el (vc-git-print-log): Handle a limit argument. Display + the short log in graph form and with labels. + (vc-git-log-view-mode): Handle labels. + Make vc-revert change VC state from 'added to 'unregistered. * vc-git.el (vc-git-revert): Call git reset first.
--- a/lisp/vc-git.el Sun Dec 06 21:25:55 2009 +0000 +++ b/lisp/vc-git.el Sun Dec 06 22:18:03 2009 +0000 @@ -551,15 +551,15 @@ (let ((inhibit-read-only t)) (with-current-buffer buffer - (if shortlog - (vc-git-command buffer 'async files - "log" ;; "--graph" - "--date=short" "--pretty=format:%h %ad %s" "--abbrev-commit" - "--") - (vc-git-command buffer 'async files - "rev-list" ;; "--graph" - "--pretty" "HEAD" "--"))) - (when limit 'limit-unsupported)))) + (apply 'vc-git-command buffer + 'async files + (append + '("log") + (when shortlog + '("--graph" "--decorate" + "--date=short" "--pretty=format:%d%h %ad %s" "--abbrev-commit")) + (when limit (list "-n" (format "%s" limit))) + '("--"))))))) (defvar log-view-message-re) (defvar log-view-file-re) @@ -576,16 +576,19 @@ (set (make-local-variable 'log-view-per-file-logs) nil) (set (make-local-variable 'log-view-message-re) (if vc-short-log - "^\\(?:[*/\\| ]+ \\)?\\([0-9a-z]+\\) \\([-a-z0-9]+\\) \\(.*\\)" + "^\\(?:[*/\\| ]+ \\)?\\(?: ([^)]+)\\)?\\([0-9a-z]+\\) \\([-a-z0-9]+\\) \\(.*\\)" "^commit *\\([0-9a-z]+\\)")) (set (make-local-variable 'log-view-font-lock-keywords) (if vc-short-log - (append - `((,log-view-message-re - (1 'change-log-acknowledgement) - (2 'change-log-date)))) + '( + ;; Same as log-view-message-re, except that we don't + ;; want the shy group for the tag name. + ("^\\(?:[*/\\| ]+ \\)?\\( ([^)]+)\\)?\\([0-9a-z]+\\) \\([-a-z0-9]+\\) \\(.*\\)" + (1 'highlight nil lax) + (2 'change-log-acknowledgement) + (3 'change-log-date))) (append - `((,log-view-message-re (1 'change-log-acknowledgement))) + `((,log-view-message-re (1 'change-log-acknowledgement))) ;; Handle the case: ;; user: foo@bar '(("^Author:[ \t]+\\([A-Za-z0-9_.+-]+@[A-Za-z0-9_.-]+\\)"