# HG changeset patch # User Jordi GutiƩrrez Hermoso # Date 2014-08-13 21:05:48 # Node ID f58b41f6708b5bb5ff43ad7f71881f5b116b2a4b # Parent d5b04ee8ecf751c1f75a1e45f066a41ce4ffc14b 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. diff --git a/mercurial/commands.py b/mercurial/commands.py --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -1519,22 +1519,18 @@ def config(ui, repo, *values, **opts): 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 \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() diff --git a/mercurial/config.py b/mercurial/config.py --- a/mercurial/config.py +++ b/mercurial/config.py @@ -9,6 +9,31 @@ from i18n import _ 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 +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 = {}