Mercurial > hg-stable
changeset 41799:4d21ebc4cb47
mq: disable qrecord during histedit (issue5981)
qrecord during histedit may lead to deadlock-like situations. qpop will throw
an error on called during histedit even after qrecord-ing those changes. This
patch makes qrecord to abort on histedit.
Differential Revision: https://phab.mercurial-scm.org/D5997
author | Navaneeth Suresh <navaneeths1998@gmail.com> |
---|---|
date | Fri, 22 Feb 2019 00:54:06 +0530 |
parents | 2ba96fca8528 |
children | a62ad1be1671 |
files | hgext/record.py tests/test-qrecord.t |
diffstat | 2 files changed, 41 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/record.py Wed Feb 20 21:57:39 2019 -0800 +++ b/hgext/record.py Fri Feb 22 00:54:06 2019 +0530 @@ -119,6 +119,7 @@ overrides = {('experimental', 'crecord'): False} with ui.configoverride(overrides, 'record'): + cmdutil.checkunfinished(repo) cmdutil.dorecord(ui, repo, committomq, cmdsuggest, False, cmdutil.recordfilter, *pats, **opts)
--- a/tests/test-qrecord.t Wed Feb 20 21:57:39 2019 -0800 +++ b/tests/test-qrecord.t Fri Feb 22 00:54:06 2019 +0530 @@ -422,3 +422,43 @@ $ hg diff --nodates $ cd .. + +qrecord should throw an error when histedit in process + + $ hg init issue5981 + $ cd issue5981 + $ cat >> $HGRCPATH <<EOF + > [extensions] + > histedit= + > mq= + > EOF + $ echo > a + $ hg ci -Am 'foo bar' + adding a + $ hg log + changeset: 0:ea55e2ae468f + tag: tip + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: foo bar + + $ hg histedit tip --commands - 2>&1 <<EOF + > edit ea55e2ae468f foo bar + > EOF + 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + adding a + Editing (ea55e2ae468f), you may commit or record as needed now. + (hg histedit --continue to resume) + [1] + $ echo 'foo bar' > a + $ hg qrecord -d '0 0' -m aaa a.patch <<EOF + > y + > y + > n + > y + > y + > n + > EOF + abort: histedit in progress + (use 'hg histedit --continue' or 'hg histedit --abort') + [255]