all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* show merge info for git vc-log
@ 2009-07-07 18:33 Dan Nicolaescu
  2009-07-07 19:16 ` Leo
                   ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Dan Nicolaescu @ 2009-07-07 18:33 UTC (permalink / raw)
  To: emacs-devel


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: foo@bar
-        '(("^Author:[ \t]+\\([A-Za-z0-9_.+-]+@[A-Za-z0-9_.-]+\\)"
+        '((" Author:[ \t]+\\([A-Za-z0-9_.+-]+@[A-Za-z0-9_.-]+\\)"
            (1 'change-log-email))
           ;; Handle the case:
           ;; user: FirstName LastName <foo@bar>
-          ("^Author:[ \t]+\\([^<(]+?\\)[ \t]*[(<]\\([A-Za-z0-9_.+-]+@[A-Za-z0-9_.-]+\\)[>)]"
+          (" Author:[ \t]+\\([^<(]+?\\)[ \t]*[(<]\\([A-Za-z0-9_.+-]+@[A-Za-z0-9_.-]+\\)[>)]"
            (1 'change-log-name)
            (2 'change-log-email))
           ("^ +\\(?:\\(?:[Aa]cked\\|[Ss]igned-[Oo]ff\\)-[Bb]y:\\)[ \t]+\\([A-Za-z0-9_.+-]+@[A-Za-z0-9_.-]+\\)"
@@ -490,11 +515,11 @@
           ("^ +\\(?:\\(?:[Aa]cked\\|[Ss]igned-[Oo]ff\\)-[Bb]y:\\)[ \t]+\\([^<(]+?\\)[ \t]*[(<]\\([A-Za-z0-9_.+-]+@[A-Za-z0-9_.-]+\\)[>)]"
            (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.




^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2009-07-11 19:40 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-07-07 18:33 show merge info for git vc-log Dan Nicolaescu
2009-07-07 19:16 ` Leo
2009-07-07 23:09 ` Dmitry Dzhus
2009-07-08 20:44   ` Dan Nicolaescu
2009-07-08 21:35     ` Thierry Volpiatto
2009-07-08 22:08       ` Dan Nicolaescu
2009-07-09  2:11         ` Kevin Rodgers
2009-07-09  3:24           ` Dan Nicolaescu
2009-07-09  5:01         ` Thierry Volpiatto
2009-07-09  5:51           ` Dan Nicolaescu
2009-07-09 19:09             ` Dmitry Dzhus
2009-07-11 19:40 ` Stefan Monnier

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.