annotate mercurial/mergeutil.py @ 42530:dc3fdd1b5af4

state: created new class statecheck to handle unfinishedstates For the purpose of handling states for various multistep operations like `hg graft`, `hg histedit`, `hg bisect` et al a new class called statecheck is created .This will help in having a unified approach towards these commands and handle them with ease. The class takes in 4 basic arguments which include the name of the command, the name of the state file associated with it , clearable flag , allowcommit flag. This also also adds the support of`checkunfinished()` and `clearunfinished()` to the class. Tests remain unchanged. Differential Revision: https://phab.mercurial-scm.org/D6501
author Taapas Agrawal <taapas2897@gmail.com>
date Sun, 09 Jun 2019 00:43:36 +0530
parents c1149533676b
children 2372284d9457
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
30494
c1149533676b checkunresolved: move to new package to help avoid import cycles
Augie Fackler <augie@google.com>
parents: 30493
diff changeset
1 # mergeutil.py - help for merge processing in mercurial
2874
4ec58b157265 refactor text diff/patch code.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
2 #
4635
63b9d2deed48 Updated copyright notices and add "and others" to "hg version"
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4633
diff changeset
3 # Copyright 2005-2007 Matt Mackall <mpm@selenic.com>
2874
4ec58b157265 refactor text diff/patch code.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
4 #
8225
46293a0c7e9f updated license to be explicit about GPL version 2
Martin Geisler <mg@lazybytes.net>
parents: 8210
diff changeset
5 # This software may be used and distributed according to the terms of the
10263
25e572394f5c Update license to GPLv2+
Matt Mackall <mpm@selenic.com>
parents: 10249
diff changeset
6 # GNU General Public License version 2 or any later version.
2874
4ec58b157265 refactor text diff/patch code.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
7
28322
ebd0e86bdf89 cmdutil: use absolute_import
Gregory Szorc <gregory.szorc@gmail.com>
parents: 28313
diff changeset
8 from __future__ import absolute_import
ebd0e86bdf89 cmdutil: use absolute_import
Gregory Szorc <gregory.szorc@gmail.com>
parents: 28313
diff changeset
9
ebd0e86bdf89 cmdutil: use absolute_import
Gregory Szorc <gregory.szorc@gmail.com>
parents: 28313
diff changeset
10 from .i18n import _
ebd0e86bdf89 cmdutil: use absolute_import
Gregory Szorc <gregory.szorc@gmail.com>
parents: 28313
diff changeset
11
ebd0e86bdf89 cmdutil: use absolute_import
Gregory Szorc <gregory.szorc@gmail.com>
parents: 28313
diff changeset
12 from . import (
ebd0e86bdf89 cmdutil: use absolute_import
Gregory Szorc <gregory.szorc@gmail.com>
parents: 28313
diff changeset
13 error,
ebd0e86bdf89 cmdutil: use absolute_import
Gregory Szorc <gregory.szorc@gmail.com>
parents: 28313
diff changeset
14 )
19211
3bfd7f1e7485 summary: augment output with info from extensions
Bryan O'Sullivan <bryano@fb.com>
parents: 19129
diff changeset
15
30272
3d38a0bc774f cmdutil: refactor checkunresolved
timeless <timeless@mozdev.org>
parents: 30182
diff changeset
16 def checkunresolved(ms):
3d38a0bc774f cmdutil: refactor checkunresolved
timeless <timeless@mozdev.org>
parents: 30182
diff changeset
17 if list(ms.unresolved()):
3d38a0bc774f cmdutil: refactor checkunresolved
timeless <timeless@mozdev.org>
parents: 30182
diff changeset
18 raise error.Abort(_("unresolved merge conflicts "
3d38a0bc774f cmdutil: refactor checkunresolved
timeless <timeless@mozdev.org>
parents: 30182
diff changeset
19 "(see 'hg help resolve')"))
3d38a0bc774f cmdutil: refactor checkunresolved
timeless <timeless@mozdev.org>
parents: 30182
diff changeset
20 if ms.mdstate() != 's' or list(ms.driverresolved()):
3d38a0bc774f cmdutil: refactor checkunresolved
timeless <timeless@mozdev.org>
parents: 30182
diff changeset
21 raise error.Abort(_('driver-resolved merge conflicts'),
3d38a0bc774f cmdutil: refactor checkunresolved
timeless <timeless@mozdev.org>
parents: 30182
diff changeset
22 hint=_('run "hg resolve --all" to resolve'))