sapling/hgext
Gregory Szorc 0c976d1ad3 histedit: pick an appropriate base changeset by default (BC)
Previously, `hg histedit` required a revision argument specifying which
revision to use as the base for the current histedit operation. There
was an undocumented and experimental "histedit.defaultrev" option that
supported defining a single revision to be used if no argument is
passed.

Mercurial knows what changesets can be edited. And in most scenarios,
people want to edit this history of everything on the current head that
is rewritable. Making histedit do this by default and not require
an explicit argument or additional configuration is a major usability
win and will enable more people to use histedit.

This patch changes the behavior of the experimental and undocumented
"histedit.defaultrev" config option to select an appropriate base
revision by default. Comprehensive tests exercising the edge cases
in the new, somewhat complicated default revset have been added.
Surprisingly, no tests broke. I guess we were never testing the
behavior with no ANCESTOR argument (it used to fail with
"abort: histedit requires exactly one ancestor revision"). The new
behavior is much more user friendly.

The functionality for choosing the default base revision has been
moved to destutil.py, where it can easily be modified by extensions.
2015-10-24 19:56:39 +01:00
..
convert convert: use repo._bookmarks.recordchange instead of repo._bookmarks.write 2015-11-16 17:15:36 -08:00
highlight highlight: add option to prevent content-only based fallback 2015-10-14 18:22:16 -07:00
largefiles largefiles: fall back to the original for change/delete conflicts 2015-11-18 17:40:13 -08:00
zeroconf extensions: document that testedwith = 'internal' is special 2015-04-28 16:44:37 -04:00
__init__.py Re-add hgext/__init__.py 2005-09-29 12:49:01 -07:00
acl.py error: get Abort from 'error' instead of 'util' 2015-10-08 12:55:45 -07:00
blackbox.py blackbox: add pid to output 2015-09-07 11:31:44 -07:00
bugzilla.py error: get Abort from 'error' instead of 'util' 2015-10-08 12:55:45 -07:00
censor.py spelling: trivial spell checking 2015-10-17 00:58:46 +02:00
children.py extensions: document that testedwith = 'internal' is special 2015-04-28 16:44:37 -04:00
churn.py error: get Abort from 'error' instead of 'util' 2015-10-08 12:55:45 -07:00
clonebundles.py clonebundles: fix typo s/comand/command/ 2015-11-05 10:31:20 +00:00
color.py color: drop useless override of ui.popbuffer() 2015-12-05 23:41:11 +09:00
eol.py error: get Abort from 'error' instead of 'util' 2015-10-08 12:55:45 -07:00
extdiff.py error: get Abort from 'error' instead of 'util' 2015-10-08 12:55:45 -07:00
factotum.py error: get Abort from 'error' instead of 'util' 2015-10-08 12:55:45 -07:00
fetch.py error: get Abort from 'error' instead of 'util' 2015-10-08 12:55:45 -07:00
gpg.py gpg: make sign acquire wlock before processing 2015-12-02 03:12:08 +09:00
graphlog.py graphlog: rename glog function 2015-11-29 06:51:23 +00:00
hgcia.py error: get Abort from 'error' instead of 'util' 2015-10-08 12:55:45 -07:00
hgk.py hgk: tweak doc format for path option 2015-06-25 17:37:14 -05:00
histedit.py histedit: pick an appropriate base changeset by default (BC) 2015-10-24 19:56:39 +01:00
keyword.py error: get Abort from 'error' instead of 'util' 2015-10-08 12:55:45 -07:00
mq.py mq: indentation change to make the next patch more legible 2015-11-17 13:12:46 -08:00
notify.py error: get Abort from 'error' instead of 'util' 2015-10-08 12:55:45 -07:00
pager.py pager: improve help for --pager= 2015-11-30 18:47:33 +00:00
patchbomb.py patchbomb: rename email function 2015-11-29 06:51:23 +00:00
purge.py error: get Abort from 'error' instead of 'util' 2015-10-08 12:55:45 -07:00
rebase.py rebase: remove extra "if" from check of collapsing named branches 2015-12-05 23:50:13 +09:00
record.py error: get Abort from 'error' instead of 'util' 2015-10-08 12:55:45 -07:00
relink.py l10n: use %d instead of %s for numbers 2015-10-14 22:29:03 -04:00
schemes.py error: get Abort from 'error' instead of 'util' 2015-10-08 12:55:45 -07:00
share.py bookmarks: hoist getbkfile out of bmstore class 2015-11-11 20:45:38 -05:00
shelve.py shelve: execute checkunfinished inside wlock scope 2015-12-02 03:12:08 +09:00
strip.py strip: use repo._bookmarks.recordchange instead of repo._bookmarks.write 2015-11-20 13:46:36 -08:00
transplant.py error: get Abort from 'error' instead of 'util' 2015-10-08 12:55:45 -07:00
win32mbcs.py error: get Abort from 'error' instead of 'util' 2015-10-08 12:55:45 -07:00
win32text.py urls: bulk-change primary website URLs 2015-09-30 15:43:49 -05:00