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.
--- 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 = {}