profiling: Adding a profiling.format config variable
Allows defining other output formats for profiling.
If an invalid format is given, output a warning and ignore it.
For now, only the standard 'text' value is supported.
--- a/doc/hgrc.5.txt Wed Apr 08 14:19:41 2009 +0200
+++ b/doc/hgrc.5.txt Thu Apr 02 16:01:30 2009 +0900
@@ -545,6 +545,13 @@
collected during profiling, while 'profiling report' stands for a
statistical text report generated from the profiling data.
The profiling is done using lsprof.
+ format;;
+ Profiling format.
+ Default: text.
+ text;;
+ Generate a profiling report.
+ When saving to a file, it should be noted that only the report is saved,
+ and the profiling data is not kept.
output;;
File path where profiling data or report should be saved.
If the file exists, it is replaced.
--- a/mercurial/dispatch.py Wed Apr 08 14:19:41 2009 +0200
+++ b/mercurial/dispatch.py Thu Apr 02 16:01:30 2009 +0900
@@ -379,6 +379,13 @@
raise error.ParseError(cmd, _("invalid arguments"))
if options['profile']:
+ format = ui.config('profiling', 'format', default='text')
+
+ if not format in ['text']:
+ ui.warn(_("unrecognized profiling format '%s'"
+ " - Ignored\n") % format)
+ format = 'text'
+
output = ui.config('profiling', 'output')
if output:
--- a/tests/test-profile Wed Apr 08 14:19:41 2009 +0200
+++ b/tests/test-profile Thu Apr 02 16:01:30 2009 +0900
@@ -15,4 +15,7 @@
|| echo --profile + output to file failed
grep CallCount < ../out > /dev/null \
|| echo wrong --profile output when saving to a file
+
+ hg --profile --config profiling.format=text st 2>&1 \
+ | grep CallCount > /dev/null || echo --profile format=text failed
fi