emacs-bug-tracker
[Top][All Lists]
Advanced

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

[debbugs-tracker] bug#17515: closed (* lisp/vc/vc-hg.el (vc-hg-root-log-


From: GNU bug Tracking System
Subject: [debbugs-tracker] bug#17515: closed (* lisp/vc/vc-hg.el (vc-hg-root-log-format): New format supports graph, branches and bookmarks.)
Date: Fri, 06 Jun 2014 16:13:02 +0000

Your message dated Fri, 06 Jun 2014 12:12:09 -0400
with message-id <address@hidden>
and subject line Re: bug#17515: Correction: using log-switch causes normal non 
shortlog use fail format
has caused the debbugs.gnu.org bug report #17515,
regarding * lisp/vc/vc-hg.el (vc-hg-root-log-format): New format supports 
graph, branches and bookmarks.
to be marked as done.

(If you believe you have received this mail in error, please contact
address@hidden)


-- 
17515: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=17515
GNU Bug Tracking System
Contact address@hidden with problems
--- Begin Message --- Subject: * lisp/vc/vc-hg.el (vc-hg-root-log-format): New format supports graph, branches and bookmarks. Date: Sat, 17 May 2014 00:09:52 +0200
Hi emacs,

I wish to improve the vc-change-log buffer in vc-hg with the graph view. My proposal is a change in default configuration. The vc-hg-root-log-format is compatible with or without the graph view. Also added branches and bookmarks.

2014-05-17 Santiago Payà i Miralta <address@hidden>

        * lisp/vc/vc-hg.el (vc-hg-root-log-format): New format
 supports graph, branches and bookmarks.

From a917e85f083907030daea6d1cf70ba524f5bbab9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Santiago=20Pay=C3=A0=20i=20Miralta?= <address@hidden>
Date: Fri, 16 May 2014 23:58:57 +0200
Subject: [PATCH] * lisp/vc/vc-hg.el (vc-hg-root-log-format): New format
 supports graph, branches and bookmarks.

Modern Mercurial log command supports --graph, also the graphlog extension is widely used in ancient Mercurial. So with adding this default configuration vc-hg users may see the graph DAG in the vc-change-log buffer. Users have the choice to define vc-hg-log-switches as nil again, the vc-hg-root-log-format is compatible with no graph switch.

Also added branches and bookmarks to the log format, with some different but existing faces from add-log.
---
 lisp/vc/vc-hg.el | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/lisp/vc/vc-hg.el b/lisp/vc/vc-hg.el
index 05b53a3..649c736 100644
--- a/lisp/vc/vc-hg.el
+++ b/lisp/vc/vc-hg.el
@@ -146,12 +146,14 @@ If nil, use the value of `vc-diff-switches'.  If t, use no switches."
   :group 'vc-hg)
 
 (defcustom vc-hg-root-log-format
-  '("{rev}:{tags}: {author|person} {date|shortdate} {desc|firstline}\\n"
-    "^\\([0-9]+\\):\\([^:]*\\): \\(.*?\\)[ \t]+\\([0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\}\\)"
-    ((1 'log-view-message-face)
-     (2 'change-log-list)
-     (3 'change-log-name)
-     (4 'change-log-date)))
+  '("{rev}:{ifeq(branch, 'default','', '{branch}')}:{bookmarks}:{tags}: {author|person} {date|shortdate} {desc|firstline}\\n"
+    "^\\(?:address@hidden x|-]*\\)\\([0-9]+\\):\\([^:]*\\):\\([^:]*\\):\\([^:]*\\): \\(.*?\\)[ \t]+\\([0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\}\\)"
+((1 'log-view-message-face)
+     (2 'change-log-file)
+     (3 'change-log-list)
+     (4 'change-log-conditionals)
+     (5 'change-log-name)
+     (6 'change-log-date)))
   "Mercurial log template for `vc-hg-print-log' short format.
 This should be a list (TEMPLATE REGEXP KEYWORDS), where TEMPLATE
 is the \"--template\" argument string to pass to Mercurial,
@@ -238,8 +240,9 @@ highlighting the Log View buffer."
 
 ;;; History functions
 
-(defcustom vc-hg-log-switches nil
-  "String or list of strings specifying switches for hg log under VC."
+(defcustom vc-hg-log-switches (list "--graph")
+  "String or list of strings specifying switches for hg log under VC.
+Using --graph needs Mercurial 3.0+ or the graphlog extension."
   :type '(choice (const :tag "None" nil)
                  (string :tag "Argument String")
                  (repeat :tag "Argument List" :value ("") string))
-- 
2.0.0.rc0


--- End Message ---
--- Begin Message --- Subject: Re: bug#17515: Correction: using log-switch causes normal non shortlog use fail format Date: Fri, 06 Jun 2014 12:12:09 -0400 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4.50 (gnu/linux)
OK, I see your papers are in.  Now that I'm looking at your patch,
I have one more comment.  The previous version of your patch said:

   Using --graph needs Mercurial 3.0+ or the graphlog extension.

Yet my Debian install is still at 2.9.2, so using --graph by default
seems risky.  Is there a way to test whether "hg" supports "--graph"?

Oh, and your patch was mangled.  Try to use a MUA that doesn't wrap
lines for you.

I installed the tweaked patch below, which avoids going over
80-columns, updates the :version info, and introduces a config var to
enable the --graph (this var should be set automatically depending on
whether --graph is supported, but for now it just defaults to nil).


        Stefan


=== modified file 'lisp/ChangeLog'
--- lisp/ChangeLog      2014-06-06 14:37:05 +0000
+++ lisp/ChangeLog      2014-06-06 16:11:32 +0000
@@ -1,3 +1,10 @@
+2014-06-06  Santiago Payà i Miralta  <address@hidden>
+
+       * vc/vc-hg.el (vc-hg-log-graph): New var.
+       (vc-hg-print-log): Use it.
+       (vc-hg-root-log-format): Include branch name and bookmarks; ignore
+       graph output (bug#17515).
+
 2014-06-06  Stefan Monnier  <address@hidden>
 
        * mouse.el (mouse-posn-property): Ignore buffer position info when the
@@ -631,7 +638,7 @@
        * emacs-lisp/nadvice.el (advice--interactive-form): Don't get fooled
        into autoloading just because of a silly indirection.
 
-2014-05-12  Santiago Payà i Miralta  <address@hidden>  (tiny change)
+2014-05-12  Santiago Payà i Miralta  <address@hidden>
 
        * vc/vc-hg.el (vc-hg-unregister): New function.  (Bug#17454)
 

=== modified file 'lisp/vc/vc-hg.el'
--- lisp/vc/vc-hg.el    2014-05-11 02:01:08 +0000
+++ lisp/vc/vc-hg.el    2014-06-06 16:07:59 +0000
@@ -146,12 +146,19 @@
   :group 'vc-hg)
 
 (defcustom vc-hg-root-log-format
-  '("{rev}:{tags}: {author|person} {date|shortdate} {desc|firstline}\\n"
-    "^\\([0-9]+\\):\\([^:]*\\): \\(.*?\\)[ 
\t]+\\([0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\}\\)"
+  `(,(concat "{rev}:{ifeq(branch, 'default','', '{branch}')}"
+             ":{bookmarks}:{tags}:{author|person}"
+             " {date|shortdate} {desc|firstline}\\n")
+    ,(concat "^\\(?:address@hidden x|-]*\\)"      ;Graph data.
+             "\\([0-9]+\\):\\([^:]*\\)"
+             ":\\([^:]*\\):\\([^:]*\\):\\(.*?\\)"
+             "[ \t]+\\([0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\}\\)")
     ((1 'log-view-message-face)
-     (2 'change-log-list)
-     (3 'change-log-name)
-     (4 'change-log-date)))
+     (2 'change-log-file)
+     (3 'change-log-list)
+     (4 'change-log-conditionals)
+     (5 'change-log-name)
+     (6 'change-log-date)))
   "Mercurial log template for `vc-hg-print-log' short format.
 This should be a list (TEMPLATE REGEXP KEYWORDS), where TEMPLATE
 is the \"--template\" argument string to pass to Mercurial,
@@ -160,7 +167,7 @@
 highlighting the Log View buffer."
   :type '(list string string (repeat sexp))
   :group 'vc-hg
-  :version "24.1")
+  :version "24.5")
 

 ;;; Properties of the backend
@@ -247,6 +254,9 @@
 
 (autoload 'vc-setup-buffer "vc-dispatcher")
 
+(defvar vc-hg-log-graph nil
+  "If non-nil, use `--graph' in the short log output.")
+
 (defun vc-hg-print-log (files buffer &optional shortlog start-revision limit)
   "Print commit log associated with FILES into specified BUFFER.
 If SHORTLOG is non-nil, use a short format based on `vc-hg-root-log-format'.
@@ -264,7 +274,9 @@
             (nconc
              (when start-revision (list (format "-r%s:0" start-revision)))
              (when limit (list "-l" (format "%s" limit)))
-             (when shortlog (list "--template" (car vc-hg-root-log-format)))
+             (when shortlog `(,@(if vc-hg-log-graph '("--graph"))
+                               "--template"
+                               ,(car vc-hg-root-log-format)))
              vc-hg-log-switches)))))
 
 (defvar log-view-message-re)



--- End Message ---

reply via email to

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