[PATCH] histedit: allow configuring default behavior
Augie Fackler
raf at durin42.com
Tue Feb 3 15:13:33 UTC 2015
On Mon, Feb 02, 2015 at 04:42:45PM -0800, Durham Goode wrote:
> # HG changeset patch
> # User Durham Goode <durham at fb.com>
> # Date 1422922775 28800
> # Mon Feb 02 16:19:35 2015 -0800
> # Node ID f146925438691d039aa3ea1146790fe85acfbbe6
> # Parent 8b88870cbd1eeefaee0af053ae36728f8c0a1847
> histedit: allow configuring default behavior
Looks good. Queued.
(For those following along: the intent here is to let us experiment
with different revsets until we find the "right" default, then set
that default. I don't know if we'll get the default in 3.4, but I hope
so.)
>
> Adds a configuration setting for allowing users to specify the default behavior
> of 'hg histedit' without arguments. This saves user's from having to manually
> figure out the bottom commit or a complicated revset. My current revset of
> choice is "only(.) & draft() - ::merge()"
>
> The commits that histedit can work with is usually quite limited, so if this
> feature ends up working well, we may want to consider making "only(.) & draft()
> - ::merge()" the default behavior for everyone.
>
> diff --git a/hgext/histedit.py b/hgext/histedit.py
> --- a/hgext/histedit.py
> +++ b/hgext/histedit.py
> @@ -579,6 +579,10 @@ def _histedit(ui, repo, state, *freeargs
> _('only one repo argument allowed with --outgoing'))
> else:
> revs.extend(freeargs)
> + if len(revs) == 0:
> + histeditdefault = ui.config('histedit', 'defaultrev')
> + if histeditdefault:
> + revs.append(histeditdefault)
> if len(revs) != 1:
> raise util.Abort(
> _('histedit requires exactly one ancestor revision'))
> diff --git a/tests/test-histedit-arguments.t b/tests/test-histedit-arguments.t
> --- a/tests/test-histedit-arguments.t
> +++ b/tests/test-histedit-arguments.t
> @@ -103,6 +103,15 @@ Test that we pick the minimum of a revra
> 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
> $ hg up --quiet
>
> +Test config specified default
> +-----------------------------
> +
> + $ HGEDITOR=cat hg histedit --config "histedit.defaultrev=only(.) - ::eb57da33312f" --commands - << EOF
> + > pick c8e68270e35a 3 four
> + > pick 08d98a8350f3 4 five
> + > EOF
> + 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
> +
> Run on a revision not descendants of the initial parent
> --------------------------------------------------------------------
>
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at selenic.com
> http://selenic.com/mailman/listinfo/mercurial-devel
More information about the Mercurial-devel
mailing list