author | Pierre-Yves David <pierre-yves.david@octobus.net> |
Thu, 10 Oct 2019 00:01:40 +0200 | |
changeset 43144 | ea230325dc8c |
parent 43117 | 8ff1ecfadcd1 |
child 43742 | 127d46468a45 |
permissions | -rw-r--r-- |
38136
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
1 |
# state.py - writing and reading state files in Mercurial |
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
2 |
# |
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
3 |
# Copyright 2018 Pulkit Goyal <pulkitmgoyal@gmail.com> |
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
4 |
# |
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
5 |
# This software may be used and distributed according to the terms of the |
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
6 |
# GNU General Public License version 2 or any later version. |
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
7 |
|
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
8 |
""" |
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
9 |
This file contains class to wrap the state for commands and other |
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
10 |
related logic. |
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
11 |
|
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
12 |
All the data related to the command state is stored as dictionary in the object. |
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
13 |
The class has methods using which the data can be stored to disk in a file under |
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
14 |
.hg/ directory. |
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
15 |
|
41136
050ea8eb42a5
state: update comment about use of CBOR
Augie Fackler <augie@google.com>
parents:
39470
diff
changeset
|
16 |
We store the data on disk in cbor, for which we use the CBOR format to encode |
050ea8eb42a5
state: update comment about use of CBOR
Augie Fackler <augie@google.com>
parents:
39470
diff
changeset
|
17 |
the data. |
38136
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
18 |
""" |
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
19 |
|
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
20 |
from __future__ import absolute_import |
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
21 |
|
42536
5f2f6912c9e6
states: moved cmdutil.unfinishedstates to state.py
Taapas Agrawal <taapas2897@gmail.com>
parents:
41136
diff
changeset
|
22 |
from .i18n import _ |
5f2f6912c9e6
states: moved cmdutil.unfinishedstates to state.py
Taapas Agrawal <taapas2897@gmail.com>
parents:
41136
diff
changeset
|
23 |
|
38136
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
24 |
from . import ( |
38139
a0e4d654bceb
state: write the version number in plain text on top of state files
Pulkit Goyal <7895pulkit@gmail.com>
parents:
38138
diff
changeset
|
25 |
error, |
38136
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
26 |
util, |
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
27 |
) |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
28 |
from .utils import cborutil |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
29 |
|
38136
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
30 |
|
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
31 |
class cmdstate(object): |
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
32 |
"""a wrapper class to store the state of commands like `rebase`, `graft`, |
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
33 |
`histedit`, `shelve` etc. Extensions can also use this to write state files. |
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
34 |
|
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
35 |
All the data for the state is stored in the form of key-value pairs in a |
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
36 |
dictionary. |
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
37 |
|
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
38 |
The class object can write all the data to a file in .hg/ directory and |
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
39 |
can populate the object data reading that file. |
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
40 |
|
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
41 |
Uses cbor to serialize and deserialize data while writing and reading from |
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
42 |
disk. |
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
43 |
""" |
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
44 |
|
38178
6f67bfe4b82f
state: removing remaining instances of opts class variable
Pulkit Goyal <7895pulkit@gmail.com>
parents:
38166
diff
changeset
|
45 |
def __init__(self, repo, fname): |
38136
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
46 |
""" repo is the repo object |
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
47 |
fname is the file name in which data should be stored in .hg directory |
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
48 |
""" |
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
49 |
self._repo = repo |
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
50 |
self.fname = fname |
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
51 |
|
38137
36a5a1239a15
state: don't have a dict like interface for cmdstate class
Pulkit Goyal <7895pulkit@gmail.com>
parents:
38136
diff
changeset
|
52 |
def read(self): |
36a5a1239a15
state: don't have a dict like interface for cmdstate class
Pulkit Goyal <7895pulkit@gmail.com>
parents:
38136
diff
changeset
|
53 |
"""read the existing state file and return a dict of data stored""" |
36a5a1239a15
state: don't have a dict like interface for cmdstate class
Pulkit Goyal <7895pulkit@gmail.com>
parents:
38136
diff
changeset
|
54 |
return self._read() |
38136
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
55 |
|
38139
a0e4d654bceb
state: write the version number in plain text on top of state files
Pulkit Goyal <7895pulkit@gmail.com>
parents:
38138
diff
changeset
|
56 |
def save(self, version, data): |
38136
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
57 |
"""write all the state data stored to .hg/<filename> file |
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
58 |
|
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
59 |
we use third-party library cbor to serialize data to write in the file. |
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
60 |
""" |
38139
a0e4d654bceb
state: write the version number in plain text on top of state files
Pulkit Goyal <7895pulkit@gmail.com>
parents:
38138
diff
changeset
|
61 |
if not isinstance(version, int): |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
62 |
raise error.ProgrammingError( |
43117
8ff1ecfadcd1
cleanup: join string literals that are already on one line
Martin von Zweigbergk <martinvonz@google.com>
parents:
43077
diff
changeset
|
63 |
b"version of state file should be an integer" |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
64 |
) |
38139
a0e4d654bceb
state: write the version number in plain text on top of state files
Pulkit Goyal <7895pulkit@gmail.com>
parents:
38138
diff
changeset
|
65 |
|
43077
687b865b95ad
formatting: byteify all mercurial/ and hgext/ string literals
Augie Fackler <augie@google.com>
parents:
43076
diff
changeset
|
66 |
with self._repo.vfs(self.fname, b'wb', atomictemp=True) as fp: |
687b865b95ad
formatting: byteify all mercurial/ and hgext/ string literals
Augie Fackler <augie@google.com>
parents:
43076
diff
changeset
|
67 |
fp.write(b'%d\n' % version) |
39470
5bfab9400daf
state: use our CBOR module
Gregory Szorc <gregory.szorc@gmail.com>
parents:
38178
diff
changeset
|
68 |
for chunk in cborutil.streamencode(data): |
5bfab9400daf
state: use our CBOR module
Gregory Szorc <gregory.szorc@gmail.com>
parents:
38178
diff
changeset
|
69 |
fp.write(chunk) |
38136
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
70 |
|
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
71 |
def _read(self): |
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
72 |
"""reads the state file and returns a dictionary which contain |
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
73 |
data in the same format as it was before storing""" |
43077
687b865b95ad
formatting: byteify all mercurial/ and hgext/ string literals
Augie Fackler <augie@google.com>
parents:
43076
diff
changeset
|
74 |
with self._repo.vfs(self.fname, b'rb') as fp: |
38139
a0e4d654bceb
state: write the version number in plain text on top of state files
Pulkit Goyal <7895pulkit@gmail.com>
parents:
38138
diff
changeset
|
75 |
try: |
38160
b7e5c53a779e
state: temporary silence pyflakes warning by removing variable assignment
Pulkit Goyal <7895pulkit@gmail.com>
parents:
38159
diff
changeset
|
76 |
int(fp.readline()) |
38139
a0e4d654bceb
state: write the version number in plain text on top of state files
Pulkit Goyal <7895pulkit@gmail.com>
parents:
38138
diff
changeset
|
77 |
except ValueError: |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
78 |
raise error.CorruptedState( |
43117
8ff1ecfadcd1
cleanup: join string literals that are already on one line
Martin von Zweigbergk <martinvonz@google.com>
parents:
43077
diff
changeset
|
79 |
b"unknown version of state file found" |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
80 |
) |
39470
5bfab9400daf
state: use our CBOR module
Gregory Szorc <gregory.szorc@gmail.com>
parents:
38178
diff
changeset
|
81 |
|
5bfab9400daf
state: use our CBOR module
Gregory Szorc <gregory.szorc@gmail.com>
parents:
38178
diff
changeset
|
82 |
return cborutil.decodeall(fp.read())[0] |
38136
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
83 |
|
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
84 |
def delete(self): |
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
85 |
"""drop the state file if exists""" |
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
86 |
util.unlinkpath(self._repo.vfs.join(self.fname), ignoremissing=True) |
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
87 |
|
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
88 |
def exists(self): |
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
89 |
"""check whether the state file exists or not""" |
a2f83661f721
state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
90 |
return self._repo.vfs.exists(self.fname) |
42536
5f2f6912c9e6
states: moved cmdutil.unfinishedstates to state.py
Taapas Agrawal <taapas2897@gmail.com>
parents:
41136
diff
changeset
|
91 |
|
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
92 |
|
42537
dc3fdd1b5af4
state: created new class statecheck to handle unfinishedstates
Taapas Agrawal <taapas2897@gmail.com>
parents:
42536
diff
changeset
|
93 |
class _statecheck(object): |
dc3fdd1b5af4
state: created new class statecheck to handle unfinishedstates
Taapas Agrawal <taapas2897@gmail.com>
parents:
42536
diff
changeset
|
94 |
"""a utility class that deals with multistep operations like graft, |
dc3fdd1b5af4
state: created new class statecheck to handle unfinishedstates
Taapas Agrawal <taapas2897@gmail.com>
parents:
42536
diff
changeset
|
95 |
histedit, bisect, update etc and check whether such commands |
dc3fdd1b5af4
state: created new class statecheck to handle unfinishedstates
Taapas Agrawal <taapas2897@gmail.com>
parents:
42536
diff
changeset
|
96 |
are in an unfinished conditition or not and return appropriate message |
dc3fdd1b5af4
state: created new class statecheck to handle unfinishedstates
Taapas Agrawal <taapas2897@gmail.com>
parents:
42536
diff
changeset
|
97 |
and hint. |
dc3fdd1b5af4
state: created new class statecheck to handle unfinishedstates
Taapas Agrawal <taapas2897@gmail.com>
parents:
42536
diff
changeset
|
98 |
It also has the ability to register and determine the states of any new |
dc3fdd1b5af4
state: created new class statecheck to handle unfinishedstates
Taapas Agrawal <taapas2897@gmail.com>
parents:
42536
diff
changeset
|
99 |
multistep operation or multistep command extension. |
dc3fdd1b5af4
state: created new class statecheck to handle unfinishedstates
Taapas Agrawal <taapas2897@gmail.com>
parents:
42536
diff
changeset
|
100 |
""" |
dc3fdd1b5af4
state: created new class statecheck to handle unfinishedstates
Taapas Agrawal <taapas2897@gmail.com>
parents:
42536
diff
changeset
|
101 |
|
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
102 |
def __init__( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
103 |
self, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
104 |
opname, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
105 |
fname, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
106 |
clearable, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
107 |
allowcommit, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
108 |
reportonly, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
109 |
continueflag, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
110 |
stopflag, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
111 |
cmdmsg, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
112 |
cmdhint, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
113 |
statushint, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
114 |
abortfunc, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
115 |
continuefunc, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
116 |
): |
42537
dc3fdd1b5af4
state: created new class statecheck to handle unfinishedstates
Taapas Agrawal <taapas2897@gmail.com>
parents:
42536
diff
changeset
|
117 |
self._opname = opname |
dc3fdd1b5af4
state: created new class statecheck to handle unfinishedstates
Taapas Agrawal <taapas2897@gmail.com>
parents:
42536
diff
changeset
|
118 |
self._fname = fname |
dc3fdd1b5af4
state: created new class statecheck to handle unfinishedstates
Taapas Agrawal <taapas2897@gmail.com>
parents:
42536
diff
changeset
|
119 |
self._clearable = clearable |
dc3fdd1b5af4
state: created new class statecheck to handle unfinishedstates
Taapas Agrawal <taapas2897@gmail.com>
parents:
42536
diff
changeset
|
120 |
self._allowcommit = allowcommit |
42541
faec09d89435
statecheck: shifted defaults to addunfinished()
Taapas Agrawal <taapas2897@gmail.com>
parents:
42540
diff
changeset
|
121 |
self._reportonly = reportonly |
faec09d89435
statecheck: shifted defaults to addunfinished()
Taapas Agrawal <taapas2897@gmail.com>
parents:
42540
diff
changeset
|
122 |
self._continueflag = continueflag |
faec09d89435
statecheck: shifted defaults to addunfinished()
Taapas Agrawal <taapas2897@gmail.com>
parents:
42540
diff
changeset
|
123 |
self._stopflag = stopflag |
faec09d89435
statecheck: shifted defaults to addunfinished()
Taapas Agrawal <taapas2897@gmail.com>
parents:
42540
diff
changeset
|
124 |
self._cmdmsg = cmdmsg |
42537
dc3fdd1b5af4
state: created new class statecheck to handle unfinishedstates
Taapas Agrawal <taapas2897@gmail.com>
parents:
42536
diff
changeset
|
125 |
self._cmdhint = cmdhint |
42539
12243f15d53e
statecheck: added support for STATES
Taapas Agrawal <taapas2897@gmail.com>
parents:
42538
diff
changeset
|
126 |
self._statushint = statushint |
42581
bb135a784b70
abort: added logic for of hg abort
Taapas Agrawal <taapas2897@gmail.com>
parents:
42548
diff
changeset
|
127 |
self.abortfunc = abortfunc |
42612
3c16b9c0b099
continue: added logic for hg continue
Taapas Agrawal <taapas2897@gmail.com>
parents:
42600
diff
changeset
|
128 |
self.continuefunc = continuefunc |
42539
12243f15d53e
statecheck: added support for STATES
Taapas Agrawal <taapas2897@gmail.com>
parents:
42538
diff
changeset
|
129 |
|
12243f15d53e
statecheck: added support for STATES
Taapas Agrawal <taapas2897@gmail.com>
parents:
42538
diff
changeset
|
130 |
def statusmsg(self): |
12243f15d53e
statecheck: added support for STATES
Taapas Agrawal <taapas2897@gmail.com>
parents:
42538
diff
changeset
|
131 |
"""returns the hint message corresponding to the command for |
12243f15d53e
statecheck: added support for STATES
Taapas Agrawal <taapas2897@gmail.com>
parents:
42538
diff
changeset
|
132 |
hg status --verbose |
12243f15d53e
statecheck: added support for STATES
Taapas Agrawal <taapas2897@gmail.com>
parents:
42538
diff
changeset
|
133 |
""" |
12243f15d53e
statecheck: added support for STATES
Taapas Agrawal <taapas2897@gmail.com>
parents:
42538
diff
changeset
|
134 |
if not self._statushint: |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
135 |
hint = _( |
43077
687b865b95ad
formatting: byteify all mercurial/ and hgext/ string literals
Augie Fackler <augie@google.com>
parents:
43076
diff
changeset
|
136 |
b'To continue: hg %s --continue\n' |
687b865b95ad
formatting: byteify all mercurial/ and hgext/ string literals
Augie Fackler <augie@google.com>
parents:
43076
diff
changeset
|
137 |
b'To abort: hg %s --abort' |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
138 |
) % (self._opname, self._opname) |
42539
12243f15d53e
statecheck: added support for STATES
Taapas Agrawal <taapas2897@gmail.com>
parents:
42538
diff
changeset
|
139 |
if self._stopflag: |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
140 |
hint = hint + ( |
43077
687b865b95ad
formatting: byteify all mercurial/ and hgext/ string literals
Augie Fackler <augie@google.com>
parents:
43076
diff
changeset
|
141 |
_(b'\nTo stop: hg %s --stop') % (self._opname) |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
142 |
) |
42539
12243f15d53e
statecheck: added support for STATES
Taapas Agrawal <taapas2897@gmail.com>
parents:
42538
diff
changeset
|
143 |
return hint |
12243f15d53e
statecheck: added support for STATES
Taapas Agrawal <taapas2897@gmail.com>
parents:
42538
diff
changeset
|
144 |
return self._statushint |
42537
dc3fdd1b5af4
state: created new class statecheck to handle unfinishedstates
Taapas Agrawal <taapas2897@gmail.com>
parents:
42536
diff
changeset
|
145 |
|
dc3fdd1b5af4
state: created new class statecheck to handle unfinishedstates
Taapas Agrawal <taapas2897@gmail.com>
parents:
42536
diff
changeset
|
146 |
def hint(self): |
42539
12243f15d53e
statecheck: added support for STATES
Taapas Agrawal <taapas2897@gmail.com>
parents:
42538
diff
changeset
|
147 |
"""returns the hint message corresponding to an interrupted |
12243f15d53e
statecheck: added support for STATES
Taapas Agrawal <taapas2897@gmail.com>
parents:
42538
diff
changeset
|
148 |
operation |
12243f15d53e
statecheck: added support for STATES
Taapas Agrawal <taapas2897@gmail.com>
parents:
42538
diff
changeset
|
149 |
""" |
42537
dc3fdd1b5af4
state: created new class statecheck to handle unfinishedstates
Taapas Agrawal <taapas2897@gmail.com>
parents:
42536
diff
changeset
|
150 |
if not self._cmdhint: |
43077
687b865b95ad
formatting: byteify all mercurial/ and hgext/ string literals
Augie Fackler <augie@google.com>
parents:
43076
diff
changeset
|
151 |
return _(b"use 'hg %s --continue' or 'hg %s --abort'") % ( |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
152 |
self._opname, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
153 |
self._opname, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
154 |
) |
42537
dc3fdd1b5af4
state: created new class statecheck to handle unfinishedstates
Taapas Agrawal <taapas2897@gmail.com>
parents:
42536
diff
changeset
|
155 |
return self._cmdhint |
dc3fdd1b5af4
state: created new class statecheck to handle unfinishedstates
Taapas Agrawal <taapas2897@gmail.com>
parents:
42536
diff
changeset
|
156 |
|
dc3fdd1b5af4
state: created new class statecheck to handle unfinishedstates
Taapas Agrawal <taapas2897@gmail.com>
parents:
42536
diff
changeset
|
157 |
def msg(self): |
dc3fdd1b5af4
state: created new class statecheck to handle unfinishedstates
Taapas Agrawal <taapas2897@gmail.com>
parents:
42536
diff
changeset
|
158 |
"""returns the status message corresponding to the command""" |
dc3fdd1b5af4
state: created new class statecheck to handle unfinishedstates
Taapas Agrawal <taapas2897@gmail.com>
parents:
42536
diff
changeset
|
159 |
if not self._cmdmsg: |
43077
687b865b95ad
formatting: byteify all mercurial/ and hgext/ string literals
Augie Fackler <augie@google.com>
parents:
43076
diff
changeset
|
160 |
return _(b'%s in progress') % (self._opname) |
42537
dc3fdd1b5af4
state: created new class statecheck to handle unfinishedstates
Taapas Agrawal <taapas2897@gmail.com>
parents:
42536
diff
changeset
|
161 |
return self._cmdmsg |
dc3fdd1b5af4
state: created new class statecheck to handle unfinishedstates
Taapas Agrawal <taapas2897@gmail.com>
parents:
42536
diff
changeset
|
162 |
|
42540
0231032729c4
statecheck: added support for cmdutil.afterresolvedstates
Taapas Agrawal <taapas2897@gmail.com>
parents:
42539
diff
changeset
|
163 |
def continuemsg(self): |
0231032729c4
statecheck: added support for cmdutil.afterresolvedstates
Taapas Agrawal <taapas2897@gmail.com>
parents:
42539
diff
changeset
|
164 |
""" returns appropriate continue message corresponding to command""" |
43077
687b865b95ad
formatting: byteify all mercurial/ and hgext/ string literals
Augie Fackler <augie@google.com>
parents:
43076
diff
changeset
|
165 |
return _(b'hg %s --continue') % (self._opname) |
42540
0231032729c4
statecheck: added support for cmdutil.afterresolvedstates
Taapas Agrawal <taapas2897@gmail.com>
parents:
42539
diff
changeset
|
166 |
|
42537
dc3fdd1b5af4
state: created new class statecheck to handle unfinishedstates
Taapas Agrawal <taapas2897@gmail.com>
parents:
42536
diff
changeset
|
167 |
def isunfinished(self, repo): |
42539
12243f15d53e
statecheck: added support for STATES
Taapas Agrawal <taapas2897@gmail.com>
parents:
42538
diff
changeset
|
168 |
"""determines whether a multi-step operation is in progress |
12243f15d53e
statecheck: added support for STATES
Taapas Agrawal <taapas2897@gmail.com>
parents:
42538
diff
changeset
|
169 |
or not |
12243f15d53e
statecheck: added support for STATES
Taapas Agrawal <taapas2897@gmail.com>
parents:
42538
diff
changeset
|
170 |
""" |
43077
687b865b95ad
formatting: byteify all mercurial/ and hgext/ string literals
Augie Fackler <augie@google.com>
parents:
43076
diff
changeset
|
171 |
if self._opname == b'merge': |
42539
12243f15d53e
statecheck: added support for STATES
Taapas Agrawal <taapas2897@gmail.com>
parents:
42538
diff
changeset
|
172 |
return len(repo[None].parents()) > 1 |
12243f15d53e
statecheck: added support for STATES
Taapas Agrawal <taapas2897@gmail.com>
parents:
42538
diff
changeset
|
173 |
else: |
12243f15d53e
statecheck: added support for STATES
Taapas Agrawal <taapas2897@gmail.com>
parents:
42538
diff
changeset
|
174 |
return repo.vfs.exists(self._fname) |
42537
dc3fdd1b5af4
state: created new class statecheck to handle unfinishedstates
Taapas Agrawal <taapas2897@gmail.com>
parents:
42536
diff
changeset
|
175 |
|
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
176 |
|
42537
dc3fdd1b5af4
state: created new class statecheck to handle unfinishedstates
Taapas Agrawal <taapas2897@gmail.com>
parents:
42536
diff
changeset
|
177 |
# A list of statecheck objects for multistep operations like graft. |
dc3fdd1b5af4
state: created new class statecheck to handle unfinishedstates
Taapas Agrawal <taapas2897@gmail.com>
parents:
42536
diff
changeset
|
178 |
_unfinishedstates = [] |
dc3fdd1b5af4
state: created new class statecheck to handle unfinishedstates
Taapas Agrawal <taapas2897@gmail.com>
parents:
42536
diff
changeset
|
179 |
|
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
180 |
|
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
181 |
def addunfinished( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
182 |
opname, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
183 |
fname, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
184 |
clearable=False, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
185 |
allowcommit=False, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
186 |
reportonly=False, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
187 |
continueflag=False, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
188 |
stopflag=False, |
43077
687b865b95ad
formatting: byteify all mercurial/ and hgext/ string literals
Augie Fackler <augie@google.com>
parents:
43076
diff
changeset
|
189 |
cmdmsg=b"", |
687b865b95ad
formatting: byteify all mercurial/ and hgext/ string literals
Augie Fackler <augie@google.com>
parents:
43076
diff
changeset
|
190 |
cmdhint=b"", |
687b865b95ad
formatting: byteify all mercurial/ and hgext/ string literals
Augie Fackler <augie@google.com>
parents:
43076
diff
changeset
|
191 |
statushint=b"", |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
192 |
abortfunc=None, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
193 |
continuefunc=None, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
194 |
): |
42537
dc3fdd1b5af4
state: created new class statecheck to handle unfinishedstates
Taapas Agrawal <taapas2897@gmail.com>
parents:
42536
diff
changeset
|
195 |
"""this registers a new command or operation to unfinishedstates |
42541
faec09d89435
statecheck: shifted defaults to addunfinished()
Taapas Agrawal <taapas2897@gmail.com>
parents:
42540
diff
changeset
|
196 |
opname is the name the command or operation |
faec09d89435
statecheck: shifted defaults to addunfinished()
Taapas Agrawal <taapas2897@gmail.com>
parents:
42540
diff
changeset
|
197 |
fname is the file name in which data should be stored in .hg directory. |
faec09d89435
statecheck: shifted defaults to addunfinished()
Taapas Agrawal <taapas2897@gmail.com>
parents:
42540
diff
changeset
|
198 |
It is None for merge command. |
faec09d89435
statecheck: shifted defaults to addunfinished()
Taapas Agrawal <taapas2897@gmail.com>
parents:
42540
diff
changeset
|
199 |
clearable boolean determines whether or not interrupted states can be |
faec09d89435
statecheck: shifted defaults to addunfinished()
Taapas Agrawal <taapas2897@gmail.com>
parents:
42540
diff
changeset
|
200 |
cleared by running `hg update -C .` which in turn deletes the |
faec09d89435
statecheck: shifted defaults to addunfinished()
Taapas Agrawal <taapas2897@gmail.com>
parents:
42540
diff
changeset
|
201 |
state file. |
faec09d89435
statecheck: shifted defaults to addunfinished()
Taapas Agrawal <taapas2897@gmail.com>
parents:
42540
diff
changeset
|
202 |
allowcommit boolean decides whether commit is allowed during interrupted |
faec09d89435
statecheck: shifted defaults to addunfinished()
Taapas Agrawal <taapas2897@gmail.com>
parents:
42540
diff
changeset
|
203 |
state or not. |
faec09d89435
statecheck: shifted defaults to addunfinished()
Taapas Agrawal <taapas2897@gmail.com>
parents:
42540
diff
changeset
|
204 |
reportonly flag is used for operations like bisect where we just |
faec09d89435
statecheck: shifted defaults to addunfinished()
Taapas Agrawal <taapas2897@gmail.com>
parents:
42540
diff
changeset
|
205 |
need to detect the operation using 'hg status --verbose' |
faec09d89435
statecheck: shifted defaults to addunfinished()
Taapas Agrawal <taapas2897@gmail.com>
parents:
42540
diff
changeset
|
206 |
continueflag is a boolean determines whether or not a command supports |
faec09d89435
statecheck: shifted defaults to addunfinished()
Taapas Agrawal <taapas2897@gmail.com>
parents:
42540
diff
changeset
|
207 |
`--continue` option or not. |
faec09d89435
statecheck: shifted defaults to addunfinished()
Taapas Agrawal <taapas2897@gmail.com>
parents:
42540
diff
changeset
|
208 |
stopflag is a boolean that determines whether or not a command supports |
faec09d89435
statecheck: shifted defaults to addunfinished()
Taapas Agrawal <taapas2897@gmail.com>
parents:
42540
diff
changeset
|
209 |
--stop flag |
faec09d89435
statecheck: shifted defaults to addunfinished()
Taapas Agrawal <taapas2897@gmail.com>
parents:
42540
diff
changeset
|
210 |
cmdmsg is used to pass a different status message in case standard |
faec09d89435
statecheck: shifted defaults to addunfinished()
Taapas Agrawal <taapas2897@gmail.com>
parents:
42540
diff
changeset
|
211 |
message of the format "abort: cmdname in progress" is not desired. |
faec09d89435
statecheck: shifted defaults to addunfinished()
Taapas Agrawal <taapas2897@gmail.com>
parents:
42540
diff
changeset
|
212 |
cmdhint is used to pass a different hint message in case standard |
faec09d89435
statecheck: shifted defaults to addunfinished()
Taapas Agrawal <taapas2897@gmail.com>
parents:
42540
diff
changeset
|
213 |
message of the format "To continue: hg cmdname --continue |
faec09d89435
statecheck: shifted defaults to addunfinished()
Taapas Agrawal <taapas2897@gmail.com>
parents:
42540
diff
changeset
|
214 |
To abort: hg cmdname --abort" is not desired. |
faec09d89435
statecheck: shifted defaults to addunfinished()
Taapas Agrawal <taapas2897@gmail.com>
parents:
42540
diff
changeset
|
215 |
statushint is used to pass a different status message in case standard |
faec09d89435
statecheck: shifted defaults to addunfinished()
Taapas Agrawal <taapas2897@gmail.com>
parents:
42540
diff
changeset
|
216 |
message of the format ('To continue: hg cmdname --continue' |
faec09d89435
statecheck: shifted defaults to addunfinished()
Taapas Agrawal <taapas2897@gmail.com>
parents:
42540
diff
changeset
|
217 |
'To abort: hg cmdname --abort') is not desired |
42581
bb135a784b70
abort: added logic for of hg abort
Taapas Agrawal <taapas2897@gmail.com>
parents:
42548
diff
changeset
|
218 |
abortfunc stores the function required to abort an unfinished state. |
42612
3c16b9c0b099
continue: added logic for hg continue
Taapas Agrawal <taapas2897@gmail.com>
parents:
42600
diff
changeset
|
219 |
continuefunc stores the function required to finish an interrupted |
3c16b9c0b099
continue: added logic for hg continue
Taapas Agrawal <taapas2897@gmail.com>
parents:
42600
diff
changeset
|
220 |
operation. |
42537
dc3fdd1b5af4
state: created new class statecheck to handle unfinishedstates
Taapas Agrawal <taapas2897@gmail.com>
parents:
42536
diff
changeset
|
221 |
""" |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
222 |
statecheckobj = _statecheck( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
223 |
opname, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
224 |
fname, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
225 |
clearable, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
226 |
allowcommit, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
227 |
reportonly, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
228 |
continueflag, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
229 |
stopflag, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
230 |
cmdmsg, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
231 |
cmdhint, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
232 |
statushint, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
233 |
abortfunc, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
234 |
continuefunc, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
235 |
) |
43077
687b865b95ad
formatting: byteify all mercurial/ and hgext/ string literals
Augie Fackler <augie@google.com>
parents:
43076
diff
changeset
|
236 |
if opname == b'merge': |
42539
12243f15d53e
statecheck: added support for STATES
Taapas Agrawal <taapas2897@gmail.com>
parents:
42538
diff
changeset
|
237 |
_unfinishedstates.append(statecheckobj) |
12243f15d53e
statecheck: added support for STATES
Taapas Agrawal <taapas2897@gmail.com>
parents:
42538
diff
changeset
|
238 |
else: |
12243f15d53e
statecheck: added support for STATES
Taapas Agrawal <taapas2897@gmail.com>
parents:
42538
diff
changeset
|
239 |
_unfinishedstates.insert(0, statecheckobj) |
42537
dc3fdd1b5af4
state: created new class statecheck to handle unfinishedstates
Taapas Agrawal <taapas2897@gmail.com>
parents:
42536
diff
changeset
|
240 |
|
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
241 |
|
42537
dc3fdd1b5af4
state: created new class statecheck to handle unfinishedstates
Taapas Agrawal <taapas2897@gmail.com>
parents:
42536
diff
changeset
|
242 |
addunfinished( |
43077
687b865b95ad
formatting: byteify all mercurial/ and hgext/ string literals
Augie Fackler <augie@google.com>
parents:
43076
diff
changeset
|
243 |
b'update', |
687b865b95ad
formatting: byteify all mercurial/ and hgext/ string literals
Augie Fackler <augie@google.com>
parents:
43076
diff
changeset
|
244 |
fname=b'updatestate', |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
245 |
clearable=True, |
43077
687b865b95ad
formatting: byteify all mercurial/ and hgext/ string literals
Augie Fackler <augie@google.com>
parents:
43076
diff
changeset
|
246 |
cmdmsg=_(b'last update was interrupted'), |
687b865b95ad
formatting: byteify all mercurial/ and hgext/ string literals
Augie Fackler <augie@google.com>
parents:
43076
diff
changeset
|
247 |
cmdhint=_(b"use 'hg update' to get a consistent checkout"), |
687b865b95ad
formatting: byteify all mercurial/ and hgext/ string literals
Augie Fackler <augie@google.com>
parents:
43076
diff
changeset
|
248 |
statushint=_(b"To continue: hg update ."), |
42537
dc3fdd1b5af4
state: created new class statecheck to handle unfinishedstates
Taapas Agrawal <taapas2897@gmail.com>
parents:
42536
diff
changeset
|
249 |
) |
42539
12243f15d53e
statecheck: added support for STATES
Taapas Agrawal <taapas2897@gmail.com>
parents:
42538
diff
changeset
|
250 |
addunfinished( |
43077
687b865b95ad
formatting: byteify all mercurial/ and hgext/ string literals
Augie Fackler <augie@google.com>
parents:
43076
diff
changeset
|
251 |
b'bisect', |
687b865b95ad
formatting: byteify all mercurial/ and hgext/ string literals
Augie Fackler <augie@google.com>
parents:
43076
diff
changeset
|
252 |
fname=b'bisect.state', |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
253 |
allowcommit=True, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
254 |
reportonly=True, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
255 |
statushint=_( |
43077
687b865b95ad
formatting: byteify all mercurial/ and hgext/ string literals
Augie Fackler <augie@google.com>
parents:
43076
diff
changeset
|
256 |
b'To mark the changeset good: hg bisect --good\n' |
687b865b95ad
formatting: byteify all mercurial/ and hgext/ string literals
Augie Fackler <augie@google.com>
parents:
43076
diff
changeset
|
257 |
b'To mark the changeset bad: hg bisect --bad\n' |
687b865b95ad
formatting: byteify all mercurial/ and hgext/ string literals
Augie Fackler <augie@google.com>
parents:
43076
diff
changeset
|
258 |
b'To abort: hg bisect --reset\n' |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
259 |
), |
42539
12243f15d53e
statecheck: added support for STATES
Taapas Agrawal <taapas2897@gmail.com>
parents:
42538
diff
changeset
|
260 |
) |
42538
5bddd2244814
state: moved cmdutil.STATES and utilities to state.py
Taapas Agrawal <taapas2897@gmail.com>
parents:
42537
diff
changeset
|
261 |
|
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
43045
diff
changeset
|
262 |
|
42538
5bddd2244814
state: moved cmdutil.STATES and utilities to state.py
Taapas Agrawal <taapas2897@gmail.com>
parents:
42537
diff
changeset
|
263 |
def getrepostate(repo): |
5bddd2244814
state: moved cmdutil.STATES and utilities to state.py
Taapas Agrawal <taapas2897@gmail.com>
parents:
42537
diff
changeset
|
264 |
# experimental config: commands.status.skipstates |
43077
687b865b95ad
formatting: byteify all mercurial/ and hgext/ string literals
Augie Fackler <augie@google.com>
parents:
43076
diff
changeset
|
265 |
skip = set(repo.ui.configlist(b'commands', b'status.skipstates')) |
42539
12243f15d53e
statecheck: added support for STATES
Taapas Agrawal <taapas2897@gmail.com>
parents:
42538
diff
changeset
|
266 |
for state in _unfinishedstates: |
12243f15d53e
statecheck: added support for STATES
Taapas Agrawal <taapas2897@gmail.com>
parents:
42538
diff
changeset
|
267 |
if state._opname in skip: |
42538
5bddd2244814
state: moved cmdutil.STATES and utilities to state.py
Taapas Agrawal <taapas2897@gmail.com>
parents:
42537
diff
changeset
|
268 |
continue |
42539
12243f15d53e
statecheck: added support for STATES
Taapas Agrawal <taapas2897@gmail.com>
parents:
42538
diff
changeset
|
269 |
if state.isunfinished(repo): |
12243f15d53e
statecheck: added support for STATES
Taapas Agrawal <taapas2897@gmail.com>
parents:
42538
diff
changeset
|
270 |
return (state._opname, state.statusmsg()) |