config: give more fine-tuned sample hgrcs to this command
authorJordi Gutiérrez Hermoso <jordigh@octave.org>
Wed, 13 Aug 2014 17:05:48 -0400
changeset 22383 f58b41f6708b
parent 22382 d5b04ee8ecf7
child 22384 091306562855
config: give more fine-tuned sample hgrcs to this command The hgrc for user config is typically different from the hgrc at the system-wide or repository level. This patch provides different sample hgrcs for each level. Sometimes when copying repos around, the copy or the original don't have a default path yet, so at least for `hg config -l`, this ought to provide a more reasonable default and suggestions of what typically goes there. The actual sample configs go in the config.py file, to minimise clutter. In order to avoid an unnecessary import, the corresponding import for this dictionary is at the file level.
mercurial/commands.py
mercurial/config.py
--- a/mercurial/commands.py	Mon Sep 01 11:48:55 2014 +0200
+++ b/mercurial/commands.py	Wed Aug 13 17:05:48 2014 -0400
@@ -1519,22 +1519,18 @@
             if os.path.exists(f):
                 break
         else:
+            from config import samplehgrcs
+
+            if opts.get('global'):
+                samplehgrc = samplehgrcs['global']
+            elif opts.get('local'):
+                samplehgrc = samplehgrcs['local']
+            else:
+                samplehgrc = samplehgrcs['user']
+
             f = paths[0]
             fp = open(f, "w")
-            fp.write(
-                '# example config (see "hg help config" for more info)\n'
-                '\n'
-                '[ui]\n'
-                '# name and email, e.g.\n'
-                '# username = Jane Doe <jdoe@example.com>\n'
-                'username =\n'
-                '\n'
-                '[extensions]\n'
-                '# uncomment these lines to enable some popular extensions\n'
-                '# (see "hg help extensions" for more info)\n'
-                '# pager =\n'
-                '# progress =\n'
-                '# color =\n')
+            fp.write(samplehgrc)
             fp.close()
 
         editor = ui.geteditor()
--- a/mercurial/config.py	Mon Sep 01 11:48:55 2014 +0200
+++ b/mercurial/config.py	Wed Aug 13 17:05:48 2014 -0400
@@ -9,6 +9,31 @@
 import error, util
 import os, errno
 
+samplehgrcs = {
+    'user':
+"""# example user config (see "hg help config" for more info)
+[ui]
+# name and email, e.g.
+# username = Jane Doe <jdoe@example.com>
+username =
+
+[extensions]
+# uncomment these lines to enable some popular extensions
+# (see "hg help extensions" for more info)
+#
+# pager =
+# progress =
+# color =""",
+
+    'local':
+"""# example repository config (see "hg help config" for more info)
+""",
+
+    'global':
+"""# example system-wide hg config (see "hg help config" for more info)
+""",
+}
+
 class config(object):
     def __init__(self, data=None):
         self._data = {}