[PATCH 1 of 2] graphlog: Enable revesets and log options via revsets with meaningful graph

Klaus Koch klaus-koch at gmx.net
Wed Dec 15 08:12:45 CST 2010


# HG changeset patch
# User Klaus Koch <kuk42 at gmx.net>
# Date 1292410288 -3600
# Branch stable
# Node ID 0cdd5434e70a2a485244ba450b5d5d488c55fd78
# Parent  5e51254ad4d4c80669f462e310b2677f2b3c54a7
graphlog: Give meaningful error if more than one FILE is given.

diff --git a/hgext/graphlog.py b/hgext/graphlog.py
--- a/hgext/graphlog.py
+++ b/hgext/graphlog.py
@@ -319,7 +319,13 @@
     '''wrap the command'''
     def graph(orig, *args, **kwargs):
         if kwargs['graph']:
-            return wrapfn(*args, **kwargs)
+            try:
+                return wrapfn(*args, **kwargs)
+            except TypeError, e:
+                if len(args) > wrapfn.func_code.co_argcount:
+                    raise util.Abort(
+                        _("--G/-graph option allows at most one FILE,"
+                          ' or -r/--rev REVSET (see "hg help revsets)'))
         return orig(*args, **kwargs)
     entry = extensions.wrapcommand(table, cmd, graph)
     entry[1].append(('G', 'graph', None, _("show the revision DAG")))
diff --git a/tests/test-glog.t b/tests/test-glog.t
--- a/tests/test-glog.t
+++ b/tests/test-glog.t
@@ -686,6 +686,11 @@
   show revision history alongside an ASCII revision graph
   [255]
 
+Only one FILE is allowed
+  $ hg log -G foo bar
+  abort: --G/-graph option allows at most one FILE, or -r/--rev REVSET (see "hg help revsets)
+  [255]
+
 Empty revision range - display nothing:
   $ hg glog -r 1..0
 

-- 
GMX DSL Doppel-Flat ab 19,99 Euro/mtl.! Jetzt auch mit 
gratis Notebook-Flat! http://portal.gmx.net/de/go/dsl


More information about the Mercurial-devel mailing list