Mercurial > hg
changeset 24009:00d331763442
histedit: allow configuring default behavior
Adds a configuration setting for allowing users to specify the default behavior
of 'hg histedit' without arguments. This saves users 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.
author | Durham Goode <durham@fb.com> |
---|---|
date | Mon, 02 Feb 2015 16:19:35 -0800 |
parents | 240343e13c4d |
children | a63c2b159df4 |
files | hgext/histedit.py tests/test-histedit-arguments.t |
diffstat | 2 files changed, 13 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/histedit.py Sun Feb 01 14:05:15 2015 -0500 +++ b/hgext/histedit.py Mon Feb 02 16:19:35 2015 -0800 @@ -579,6 +579,10 @@ _('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'))
--- a/tests/test-histedit-arguments.t Sun Feb 01 14:05:15 2015 -0500 +++ b/tests/test-histedit-arguments.t Mon Feb 02 16:19:35 2015 -0800 @@ -103,6 +103,15 @@ 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 --------------------------------------------------------------------