97 multistep operation or multistep command extension. |
97 multistep operation or multistep command extension. |
98 """ |
98 """ |
99 |
99 |
100 def __init__(self, opname, fname, clearable, allowcommit, reportonly, |
100 def __init__(self, opname, fname, clearable, allowcommit, reportonly, |
101 continueflag, stopflag, cmdmsg, cmdhint, statushint, |
101 continueflag, stopflag, cmdmsg, cmdhint, statushint, |
102 abortfunc): |
102 abortfunc, continuefunc): |
103 self._opname = opname |
103 self._opname = opname |
104 self._fname = fname |
104 self._fname = fname |
105 self._clearable = clearable |
105 self._clearable = clearable |
106 self._allowcommit = allowcommit |
106 self._allowcommit = allowcommit |
107 self._reportonly = reportonly |
107 self._reportonly = reportonly |
109 self._stopflag = stopflag |
109 self._stopflag = stopflag |
110 self._cmdmsg = cmdmsg |
110 self._cmdmsg = cmdmsg |
111 self._cmdhint = cmdhint |
111 self._cmdhint = cmdhint |
112 self._statushint = statushint |
112 self._statushint = statushint |
113 self.abortfunc = abortfunc |
113 self.abortfunc = abortfunc |
|
114 self.continuefunc = continuefunc |
114 |
115 |
115 def statusmsg(self): |
116 def statusmsg(self): |
116 """returns the hint message corresponding to the command for |
117 """returns the hint message corresponding to the command for |
117 hg status --verbose |
118 hg status --verbose |
118 """ |
119 """ |
157 # A list of statecheck objects for multistep operations like graft. |
158 # A list of statecheck objects for multistep operations like graft. |
158 _unfinishedstates = [] |
159 _unfinishedstates = [] |
159 |
160 |
160 def addunfinished(opname, fname, clearable=False, allowcommit=False, |
161 def addunfinished(opname, fname, clearable=False, allowcommit=False, |
161 reportonly=False, continueflag=False, stopflag=False, |
162 reportonly=False, continueflag=False, stopflag=False, |
162 cmdmsg="", cmdhint="", statushint="", abortfunc=None): |
163 cmdmsg="", cmdhint="", statushint="", abortfunc=None, |
|
164 continuefunc=None): |
163 """this registers a new command or operation to unfinishedstates |
165 """this registers a new command or operation to unfinishedstates |
164 opname is the name the command or operation |
166 opname is the name the command or operation |
165 fname is the file name in which data should be stored in .hg directory. |
167 fname is the file name in which data should be stored in .hg directory. |
166 It is None for merge command. |
168 It is None for merge command. |
167 clearable boolean determines whether or not interrupted states can be |
169 clearable boolean determines whether or not interrupted states can be |
182 To abort: hg cmdname --abort" is not desired. |
184 To abort: hg cmdname --abort" is not desired. |
183 statushint is used to pass a different status message in case standard |
185 statushint is used to pass a different status message in case standard |
184 message of the format ('To continue: hg cmdname --continue' |
186 message of the format ('To continue: hg cmdname --continue' |
185 'To abort: hg cmdname --abort') is not desired |
187 'To abort: hg cmdname --abort') is not desired |
186 abortfunc stores the function required to abort an unfinished state. |
188 abortfunc stores the function required to abort an unfinished state. |
|
189 continuefunc stores the function required to finish an interrupted |
|
190 operation. |
187 """ |
191 """ |
188 statecheckobj = _statecheck(opname, fname, clearable, allowcommit, |
192 statecheckobj = _statecheck(opname, fname, clearable, allowcommit, |
189 reportonly, continueflag, stopflag, cmdmsg, |
193 reportonly, continueflag, stopflag, cmdmsg, |
190 cmdhint, statushint, abortfunc) |
194 cmdhint, statushint, abortfunc, continuefunc) |
191 if opname == 'merge': |
195 if opname == 'merge': |
192 _unfinishedstates.append(statecheckobj) |
196 _unfinishedstates.append(statecheckobj) |
193 else: |
197 else: |
194 _unfinishedstates.insert(0, statecheckobj) |
198 _unfinishedstates.insert(0, statecheckobj) |
195 |
199 |