Mercurial > hg-stable
changeset 42584:db5560c07a28
abort: added support for histedit
This patch adds the support for `histedit` in `hg abort` plan.
As seperate `hgaborthistedit()` function is created to handle
independent calls for abortion of `histedit`. This function is
then registered as `abortfunc` for state detection API.
hg abort in case of `histedit` also supports ` history-editing-backup`
config option.
Results are shown as tests.
Differential Revision: https://phab.mercurial-scm.org/D6582
author | Taapas Agrawal <taapas2897@gmail.com> |
---|---|
date | Fri, 28 Jun 2019 00:35:52 +0530 |
parents | b9bc47211cf5 |
children | ebf353aa4385 |
files | hgext/histedit.py tests/test-histedit-arguments.t tests/test-histedit-no-backup.t tests/test-histedit-obsolete.t |
diffstat | 4 files changed, 50 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/histedit.py Sun Jun 23 23:11:35 2019 +0530 +++ b/hgext/histedit.py Fri Jun 28 00:35:52 2019 +0530 @@ -1919,6 +1919,14 @@ finally: state.clear() +def hgaborthistedit(ui, repo): + state = histeditstate(repo) + nobackup = not ui.configbool('rewrite', 'backup-bundle') + with repo.wlock() as wlock, repo.lock() as lock: + state.wlock = wlock + state.lock = lock + _aborthistedit(ui, repo, state, nobackup=nobackup) + def _edithisteditplan(ui, repo, state, rules): state.read() if not rules: @@ -2314,5 +2322,5 @@ def extsetup(ui): cmdutil.summaryhooks.add('histedit', summaryhook) statemod.addunfinished('histedit', fname='histedit-state', allowcommit=True, - continueflag=True) + continueflag=True, abortfunc=hgaborthistedit)
--- a/tests/test-histedit-arguments.t Sun Jun 23 23:11:35 2019 +0530 +++ b/tests/test-histedit-arguments.t Fri Jun 28 00:35:52 2019 +0530 @@ -1,3 +1,12 @@ +#testcases abortcommand abortflag + +#if abortflag + $ cat >> $HGRCPATH <<EOF + > [alias] + > abort = histedit --abort + > EOF +#endif + Test argument handling and various data parsing ================================================== @@ -47,8 +56,9 @@ $ hg histedit --continue abort: no histedit in progress [255] - $ hg histedit --abort - abort: no histedit in progress + $ hg abort + abort: no histedit in progress (abortflag !) + abort: no operation in progress (abortcommand !) [255] Run a dummy edit to make sure we get tip^^ correctly via revsingle. @@ -358,7 +368,7 @@ Corrupt histedit state file $ sed 's/8fda0c726bf2/123456789012/' .hg/histedit-state > ../corrupt-histedit $ mv ../corrupt-histedit .hg/histedit-state - $ hg histedit --abort + $ hg abort warning: encountered an exception during histedit --abort; the repository may not have been completely cleaned up abort: $TESTTMP/foo/.hg/strip-backup/*-histedit.hg: $ENOENT$ (glob) (windows !) abort: $ENOENT$: '$TESTTMP/foo/.hg/strip-backup/*-histedit.hg' (glob) (no-windows !)
--- a/tests/test-histedit-no-backup.t Sun Jun 23 23:11:35 2019 +0530 +++ b/tests/test-histedit-no-backup.t Fri Jun 28 00:35:52 2019 +0530 @@ -1,3 +1,12 @@ +#testcases abortcommand abortflag + +#if abortflag + $ cat >> $HGRCPATH <<EOF + > [alias] + > abort = histedit --abort + > EOF +#endif + $ . "$TESTDIR/histedit-helpers.sh" Enable extension used by this test @@ -44,7 +53,7 @@ Editing (7d5187087c79), you may commit or record as needed now. (hg histedit --continue to resume) [1] - $ hg histedit --abort + $ hg abort 1 files updated, 0 files merged, 0 files removed, 0 files unresolved saved backup bundle to $TESTTMP/foo/.hg/strip-backup/1d8f701c7b35-cf7be322-backup.hg saved backup bundle to $TESTTMP/foo/.hg/strip-backup/5c0056670bce-b54b65d0-backup.hg @@ -66,5 +75,6 @@ Editing (7d5187087c79), you may commit or record as needed now. (hg histedit --continue to resume) [1] - $ hg histedit --abort + + $ hg abort 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
--- a/tests/test-histedit-obsolete.t Sun Jun 23 23:11:35 2019 +0530 +++ b/tests/test-histedit-obsolete.t Fri Jun 28 00:35:52 2019 +0530 @@ -1,3 +1,12 @@ +#testcases abortcommand abortflag + +#if abortflag + $ cat >> $HGRCPATH <<EOF + > [alias] + > abort = histedit --abort + > EOF +#endif + $ . "$TESTDIR/histedit-helpers.sh" Enable obsolete @@ -522,7 +531,13 @@ (hg histedit --continue to resume) [1] - $ hg histedit --abort +#if abortcommand +when in dry-run mode + $ hg abort --dry-run + histedit in progress, will be aborted +#endif + + $ hg abort 1 files updated, 0 files merged, 0 files removed, 0 files unresolved saved backup bundle to $TESTTMP/abort/.hg/strip-backup/4dc06258baa6-dff4ef05-backup.hg