[PATCH 2 of 2 V2] config: use the same hgrc for a cloned repo as for an uninitted repo
raf at durin42.com
Tue Oct 7 11:40:42 CDT 2014
On Mon, Oct 06, 2014 at 04:41:30PM -0400, Jordi Gutiérrez Hermoso wrote:
> # HG changeset patch
> # User Jordi Gutiérrez Hermoso <jordigh at octave.org>
> # Date 1412627702 14400
> # Mon Oct 06 16:35:02 2014 -0400
> # Node ID d14bc6947adc7229ae464bdb67ff79f2e10f04c2
> # Parent eaf28cae9dedb26c7a78a371b7435589a1482cf3
> config: use the same hgrc for a cloned repo as for an uninitted repo
Overall series LG, a nitpick below.
> This just copies the same local sample hgrc, except it sets the
> default path to the repo it was cloned from.
> This is cut-and-paste from the local sample hgrc, but I think it's
> acceptable, since the two pieces of code are right next to each other
> and they're small. There is danger of them going out of synch, but it
> would complicate the code too much to get rid of this C&P.
> diff --git a/mercurial/hg.py b/mercurial/hg.py
> --- a/mercurial/hg.py
> +++ b/mercurial/hg.py
> @@ -422,18 +422,8 @@ def clone(ui, peeropts, source, dest=Non
> destrepo = destpeer.local()
> if destrepo:
> - template = (
> - '# You may want to set your username here if it is not set\n'
> - "# globally, or this repository requires a different\n"
> - '# username from your usual configuration. If you want to\n'
> - '# set something for all of your repositories on this\n'
> - '# computer, try running the command\n'
> - "# 'hg config --edit --global'\n"
> - '# [ui]\n'
> - '# username = Jane Doe <jdoe at example.com>\n'
> - '[paths]\n'
> - 'default = %s\n'
> - )
> + from ui import samplehgrcs
Can you do 'import ui' up top, then...
> + template = samplehgrcs['cloned']
...reference this as ui.samplehgrcs?
hg doesn't import ui, nor does ui import hg (at least not directly),
so the top-level import would be a little more sane and would let
demandimport do the right thing.
> fp = destrepo.opener("hgrc", "w", text=True)
> u = util.url(abspath)
> u.passwd = None
> diff --git a/mercurial/ui.py b/mercurial/ui.py
> --- a/mercurial/ui.py
> +++ b/mercurial/ui.py
> @@ -26,6 +26,23 @@ username =
> # progress =
> # color =""",
> + 'cloned':
> +"""# example repository config (see "hg help config" for more info)
> +default = %s
> +# path aliases to other clones of this repo in URLs or filesystem paths
> +# (see "hg help config.paths" for more info)
> +# default-push = ssh://firstname.lastname@example.org/hg/jdoes-fork
> +# my-fork = ssh://email@example.com/hg/jdoes-fork
> +# my-clone = /home/jdoe/jdoes-clone
> +# name and email (local to this repository, optional), e.g.
> +# username = Jane Doe <jdoe at example.com>
> """# example repository config (see "hg help config" for more info)
> Mercurial-devel mailing list
> Mercurial-devel at selenic.com
More information about the Mercurial-devel