emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

show merge info for git vc-log


From: Dan Nicolaescu
Subject: show merge info for git vc-log
Date: Tue, 7 Jul 2009 11:33:14 -0700 (PDT)

git log can show a graph of the merges, it looks like this:


*   commit blah
|\  Merge: blah blah
| | Author: blah
| | Date:   blah
| | 
| |     Merge branch 'master' 
| | 
| *   commit blah
| |\  Merge: blah blah
| | | Author: blah
| | | Date:   blah
| | | 
| | |     Merge branch foo.
| | | 
| | * commit blah
| | | Author: blah
| | | Date:   blah
| | | 
| | |     Fix some stuff.
| | | 
| | * commit blah
| | | Author: blah
| | | Date:   blah
| | | 
| | |     Fix more stuff.
| | | 
| | | 
* | | commit blah
|/ /  Author: blah
| |   Date:   blah
| |   
| |       blah


Should we vc-log do this by default for git?
Lightly tested patch:

--- vc-git.el.~1.82.~   Fri Jun 26 18:46:22 2009
+++ vc-git.el   Tue Jul  7 11:27:52 2009
@@ -459,4 +459,4 @@
       (with-current-buffer
           buffer
        (vc-git-command buffer 'async files
-                       "rev-list" "--pretty" "HEAD" "--")))))
+                       "rev-list"  "--graph" "--pretty" "HEAD" "--")))))
@@ -472,17 +497,17 @@
   (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)
-       "^commit *\\([0-9a-z]+\\)")
+       "^[ */\\|]+commit *\\([0-9a-z]+\\)")
   (set (make-local-variable 'log-view-font-lock-keywords)
        (append
         `((,log-view-message-re  (1 'change-log-acknowledgement)))
         ;; Handle the case:
         ;; user: address@hidden
-        '(("^Author:[ \t]+\\(address@hidden)"
+        '((" Author:[ \t]+\\(address@hidden)"
            (1 'change-log-email))
           ;; Handle the case:
           ;; user: FirstName LastName <address@hidden>
-          ("^Author:[ \t]+\\([^<(]+?\\)[ \t]*[(<]\\(address@hidden)[>)]"
+          (" Author:[ \t]+\\([^<(]+?\\)[ \t]*[(<]\\(address@hidden)[>)]"
            (1 'change-log-name)
            (2 'change-log-email))
           ("^ +\\(?:\\(?:[Aa]cked\\|[Ss]igned-[Oo]ff\\)-[Bb]y:\\)[ 
\t]+\\(address@hidden)"
@@ -490,11 +515,11 @@
           ("^ +\\(?:\\(?:[Aa]cked\\|[Ss]igned-[Oo]ff\\)-[Bb]y:\\)[ 
\t]+\\([^<(]+?\\)[ \t]*[(<]\\(address@hidden)[>)]"
            (1 'change-log-name)
            (2 'change-log-email))
-          ("^Merge: \\([0-9a-z]+\\) \\([0-9a-z]+\\)"
+          (" Merge: \\([0-9a-z]+\\) \\([0-9a-z]+\\)"
            (1 'change-log-acknowledgement)
            (2 'change-log-acknowledgement))
-          ("^Date:   \\(.+\\)" (1 'change-log-date))
-          ("^summary:[ \t]+\\(.+\\)" (1 'log-view-message))))))
+          (" Date:   \\(.+\\)" (1 'change-log-date))
+          (" summary:[ \t]+\\(.+\\)" (1 'log-view-message))))))
 
 (defun vc-git-show-log-entry (revision)
   "Move to the log entry for REVISION.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]