##// END OF EJS Templates
errors: introduce StateError and use it from commands and cmdutil...
Martin von Zweigbergk -
r46444:527ce85c default
parent child Browse files
Show More
@@ -804,10 +804,10 b' def _dotransplant(ui, repo, *revs, **opt'
804 804 raise error.Abort(_(b'no revision checked out'))
805 805 if opts.get(b'continue'):
806 806 if not tp.canresume():
807 raise error.Abort(_(b'no transplant to continue'))
807 raise error.StateError(_(b'no transplant to continue'))
808 808 elif opts.get(b'stop'):
809 809 if not tp.canresume():
810 raise error.Abort(_(b'no interrupted transplant found'))
810 raise error.StateError(_(b'no interrupted transplant found'))
811 811 return tp.stop(ui, repo)
812 812 else:
813 813 cmdutil.checkunfinished(repo)
@@ -1087,10 +1087,10 b' def bailifchanged(repo, merge=True, hint'
1087 1087 """
1088 1088
1089 1089 if merge and repo.dirstate.p2() != nullid:
1090 raise error.Abort(_(b'outstanding uncommitted merge'), hint=hint)
1090 raise error.StateError(_(b'outstanding uncommitted merge'), hint=hint)
1091 1091 st = repo.status()
1092 1092 if st.modified or st.added or st.removed or st.deleted:
1093 raise error.Abort(_(b'uncommitted changes'), hint=hint)
1093 raise error.StateError(_(b'uncommitted changes'), hint=hint)
1094 1094 ctx = repo[None]
1095 1095 for s in sorted(ctx.substate):
1096 1096 ctx.sub(s).bailifchanged(hint=hint)
@@ -3738,7 +3738,7 b' def checkunfinished(repo, commit=False, '
3738 3738 ):
3739 3739 continue
3740 3740 if state.isunfinished(repo):
3741 raise error.Abort(state.msg(), hint=state.hint())
3741 raise error.StateError(state.msg(), hint=state.hint())
3742 3742
3743 3743 for s in statemod._unfinishedstates:
3744 3744 if (
@@ -3749,7 +3749,7 b' def checkunfinished(repo, commit=False, '
3749 3749 ):
3750 3750 continue
3751 3751 if s.isunfinished(repo):
3752 raise error.Abort(s.msg(), hint=s.hint())
3752 raise error.StateError(s.msg(), hint=s.hint())
3753 3753
3754 3754
3755 3755 def clearunfinished(repo):
@@ -3760,7 +3760,7 b' def clearunfinished(repo):'
3760 3760 if state._reportonly:
3761 3761 continue
3762 3762 if not state._clearable and state.isunfinished(repo):
3763 raise error.Abort(state.msg(), hint=state.hint())
3763 raise error.StateError(state.msg(), hint=state.hint())
3764 3764
3765 3765 for s in statemod._unfinishedstates:
3766 3766 if s._opname == b'merge' or state._reportonly:
@@ -3829,14 +3829,14 b' def wrongtooltocontinue(repo, task):'
3829 3829 hint = None
3830 3830 if after[1]:
3831 3831 hint = after[0]
3832 raise error.Abort(_(b'no %s in progress') % task, hint=hint)
3832 raise error.StateError(_(b'no %s in progress') % task, hint=hint)
3833 3833
3834 3834
3835 3835 def abortgraft(ui, repo, graftstate):
3836 3836 """abort the interrupted graft and rollbacks to the state before interrupted
3837 3837 graft"""
3838 3838 if not graftstate.exists():
3839 raise error.Abort(_(b"no interrupted graft to abort"))
3839 raise error.StateError(_(b"no interrupted graft to abort"))
3840 3840 statedata = readgraftstate(repo, graftstate)
3841 3841 newnodes = statedata.get(b'newnodes')
3842 3842 if newnodes is None:
@@ -187,7 +187,7 b' def abort(ui, repo, **opts):'
187 187 dryrun = opts.get('dry_run')
188 188 abortstate = cmdutil.getunfinishedstate(repo)
189 189 if not abortstate:
190 raise error.Abort(_(b'no operation in progress'))
190 raise error.StateError(_(b'no operation in progress'))
191 191 if not abortstate.abortfunc:
192 192 raise error.InputError(
193 193 (
@@ -1065,7 +1065,7 b' def bisect('
1065 1065 try:
1066 1066 node = state[b'current'][0]
1067 1067 except LookupError:
1068 raise error.Abort(
1068 raise error.StateError(
1069 1069 _(
1070 1070 b'current bisect revision is unknown - '
1071 1071 b'start a new bisect to fix'
@@ -1074,7 +1074,7 b' def bisect('
1074 1074 else:
1075 1075 node, p2 = repo.dirstate.parents()
1076 1076 if p2 != nullid:
1077 raise error.Abort(_(b'current bisect revision is a merge'))
1077 raise error.StateError(_(b'current bisect revision is a merge'))
1078 1078 if rev:
1079 1079 node = repo[scmutil.revsingle(repo, rev, node)].node()
1080 1080 with hbisect.restore_state(repo, state, node):
@@ -1127,7 +1127,7 b' def bisect('
1127 1127 state[b'current'] = [extendnode.node()]
1128 1128 hbisect.save_state(repo, state)
1129 1129 return mayupdate(repo, extendnode.node())
1130 raise error.Abort(_(b"nothing to extend"))
1130 raise error.StateError(_(b"nothing to extend"))
1131 1131
1132 1132 if changesets == 0:
1133 1133 hbisect.printresult(ui, repo, state, displayer, nodes, good)
@@ -2335,9 +2335,9 b' def continuecmd(ui, repo, **opts):'
2335 2335 dryrun = opts.get('dry_run')
2336 2336 contstate = cmdutil.getunfinishedstate(repo)
2337 2337 if not contstate:
2338 raise error.Abort(_(b'no operation in progress'))
2338 raise error.StateError(_(b'no operation in progress'))
2339 2339 if not contstate.continuefunc:
2340 raise error.Abort(
2340 raise error.StateError(
2341 2341 (
2342 2342 _(b"%s in progress but does not support 'hg continue'")
2343 2343 % (contstate._opname)
@@ -3270,7 +3270,7 b' def _dograft(ui, repo, *revs, **opts):'
3270 3270 def _stopgraft(ui, repo, graftstate):
3271 3271 """stop the interrupted graft"""
3272 3272 if not graftstate.exists():
3273 raise error.Abort(_(b"no interrupted graft found"))
3273 raise error.StateError(_(b"no interrupted graft found"))
3274 3274 pctx = repo[b'.']
3275 3275 mergemod.clean_update(pctx)
3276 3276 graftstate.delete()
@@ -4767,7 +4767,7 b' def merge(ui, repo, node=None, **opts):'
4767 4767 if abort:
4768 4768 state = cmdutil.getunfinishedstate(repo)
4769 4769 if state and state._opname != b'merge':
4770 raise error.Abort(
4770 raise error.StateError(
4771 4771 _(b'cannot abort merge with %s in progress') % (state._opname),
4772 4772 hint=state.hint(),
4773 4773 )
@@ -5893,7 +5893,7 b' def resolve(ui, repo, *pats, **opts):'
5893 5893 ms = mergestatemod.mergestate.read(repo)
5894 5894
5895 5895 if not (ms.active() or repo.dirstate.p2() != nullid):
5896 raise error.Abort(
5896 raise error.StateError(
5897 5897 _(b'resolve command not applicable when not merging')
5898 5898 )
5899 5899
@@ -5985,7 +5985,7 b' def resolve(ui, repo, *pats, **opts):'
5985 5985 )
5986 5986 )
5987 5987 if markcheck == b'abort' and not all and not pats:
5988 raise error.Abort(
5988 raise error.StateError(
5989 5989 _(b'conflict markers detected'),
5990 5990 hint=_(b'use --all to mark anyway'),
5991 5991 )
@@ -7185,7 +7185,7 b' def tag(ui, repo, name1, *names, **opts)'
7185 7185 if not opts.get(b'local'):
7186 7186 p1, p2 = repo.dirstate.parents()
7187 7187 if p2 != nullid:
7188 raise error.Abort(_(b'uncommitted merge'))
7188 raise error.StateError(_(b'uncommitted merge'))
7189 7189 bheads = repo.branchheads()
7190 7190 if not opts.get(b'force') and bheads and p1 not in bheads:
7191 7191 raise error.InputError(
@@ -188,6 +188,13 b' class InputError(Abort):'
188 188 """
189 189
190 190
191 class StateError(Abort):
192 """Indicates that the operation might work if retried in a different state.
193
194 Examples: Unresolved merge conflicts, unfinished operations.
195 """
196
197
191 198 class HookLoadError(Abort):
192 199 """raised when loading a hook fails, aborting an operation
193 200
@@ -224,6 +224,8 b' def callcatch(ui, func):'
224 224 except error.Abort as inst:
225 225 if isinstance(inst, error.InputError):
226 226 detailed_exit_code = 10
227 elif isinstance(inst, error.StateError):
228 detailed_exit_code = 20
227 229 ui.error(_(b"abort: %s\n") % inst.message)
228 230 if inst.hint:
229 231 ui.error(_(b"(%s)\n") % inst.hint)
@@ -26,5 +26,5 b' Abort absorb if there is an unfinished o'
26 26 $ hg --config extensions.rebase= absorb
27 27 abort: rebase in progress
28 28 (use 'hg rebase --continue', 'hg rebase --abort', or 'hg rebase --stop')
29 [255]
29 [20]
30 30
@@ -65,7 +65,7 b' Change with dirty working directory'
65 65 $ echo bar > a
66 66 $ hg branch -r . foo
67 67 abort: uncommitted changes
68 [255]
68 [20]
69 69
70 70 $ hg revert --all
71 71 reverting a
@@ -331,7 +331,7 b' Changing branch of a merge commit'
331 331 (branch merge, don't forget to commit)
332 332 $ hg branch -r . abcd
333 333 abort: outstanding uncommitted merge
334 [255]
334 [20]
335 335
336 336 $ hg ci -m "Merge commit"
337 337 $ hg glog -r 'parents(.)::'
@@ -47,7 +47,7 b' Testing the abort functionality first in'
47 47 $ hg abort
48 48 abort: no merge in progress (abortflag !)
49 49 abort: no operation in progress (abortcommand !)
50 [255]
50 [20]
51 51
52 52 $ hg merge
53 53 merging A
@@ -157,7 +157,7 b' should abort, because i is modified'
157 157
158 158 $ hg --cwd i fetch ../h
159 159 abort: uncommitted changes
160 [255]
160 [20]
161 161
162 162 test fetch with named branches
163 163
@@ -879,7 +879,7 b' fixing the working directory if there ar'
879 879 $ hg --config extensions.rebase= fix -r .
880 880 abort: rebase in progress
881 881 (use 'hg rebase --continue', 'hg rebase --abort', or 'hg rebase --stop')
882 [255]
882 [20]
883 883
884 884 $ cd ..
885 885
@@ -238,7 +238,7 b' Testing the --stop flag of `hg graft` wh'
238 238
239 239 $ hg graft --stop
240 240 abort: no interrupted graft found
241 [255]
241 [20]
242 242
243 243 $ hg graft -r 3
244 244 grafting 3:9150fe93bec6 "added d"
@@ -342,7 +342,7 b' before the graft'
342 342 $ hg abort
343 343 abort: no interrupted graft to abort (abortflag !)
344 344 abort: no operation in progress (abortcommand !)
345 [255]
345 [20]
346 346
347 347 when stripping is required
348 348 $ hg graft -r 4 -r 5
@@ -85,7 +85,7 b" Can't continue without starting:"
85 85 $ hg rm -q e
86 86 $ hg graft --continue
87 87 abort: no graft in progress
88 [255]
88 [20]
89 89 $ hg revert -r . -q e
90 90
91 91 Need to specify a rev:
@@ -130,7 +130,7 b" Can't graft with dirty wd:"
130 130 $ echo foo > a
131 131 $ hg graft 1
132 132 abort: uncommitted changes
133 [255]
133 [20]
134 134 $ hg revert a
135 135
136 136 Graft a rename:
@@ -292,7 +292,7 b' Commit while interrupted should fail:'
292 292 $ hg ci -m 'commit interrupted graft'
293 293 abort: graft in progress
294 294 (use 'hg graft --continue' or 'hg graft --stop' to stop)
295 [255]
295 [20]
296 296
297 297 Abort the graft and try committing:
298 298
@@ -55,11 +55,11 b' histedit --continue/--abort with no exis'
55 55
56 56 $ hg histedit --continue
57 57 abort: no histedit in progress
58 [255]
58 [20]
59 59 $ hg abort
60 60 abort: no histedit in progress (abortflag !)
61 61 abort: no operation in progress (abortcommand !)
62 [255]
62 [20]
63 63
64 64 Run a dummy edit to make sure we get tip^^ correctly via revsingle.
65 65 --------------------------------------------------------------------
@@ -156,7 +156,7 b' temporarily.'
156 156 $ hg graft --continue
157 157 abort: no graft in progress
158 158 (continue: hg histedit --continue)
159 [255]
159 [20]
160 160
161 161 $ mv .hg/histedit-state .hg/histedit-state.back
162 162 $ hg update --quiet --clean 2
@@ -505,7 +505,7 b' in which case this test should be revisi'
505 505 $ hg commit --amend -m 'reject this fold'
506 506 abort: histedit in progress
507 507 (use 'hg histedit --continue' or 'hg histedit --abort')
508 [255]
508 [20]
509 509
510 510 With markers enabled, histedit does not get confused, and
511 511 amend should not be blocked by the ongoing histedit.
@@ -63,7 +63,7 b' dirty a file'
63 63 $ hg histedit 177f92b77385 --commands - 2>&1 << EOF
64 64 > EOF
65 65 abort: uncommitted changes
66 [255]
66 [20]
67 67 $ echo g > g
68 68
69 69 edit the history
@@ -82,7 +82,7 b' try to update and get an error'
82 82 $ hg update tip
83 83 abort: histedit in progress
84 84 (use 'hg histedit --continue' or 'hg histedit --abort')
85 [255]
85 [20]
86 86
87 87 edit the plan via the editor
88 88 $ cat >> $TESTTMP/editplan.sh <<EOF
@@ -136,7 +136,7 b' Go at a random point and try to continue'
136 136 $ hg up 0
137 137 abort: histedit in progress
138 138 (use 'hg histedit --continue' or 'hg histedit --abort')
139 [255]
139 [20]
140 140
141 141 Try to delete necessary commit
142 142 $ hg strip -r 652413b
@@ -153,7 +153,7 b" qnew should fail while we're in the midd"
153 153 $ hg --config extensions.mq= qnew please-fail
154 154 abort: histedit in progress
155 155 (use 'hg histedit --continue' or 'hg histedit --abort')
156 [255]
156 [20]
157 157 $ HGEDITOR='echo foobaz > ' hg histedit --continue 2>&1 | fixbundle
158 158
159 159 $ hg log --graph
@@ -60,7 +60,7 b' Invert the order of the commits, and pre'
60 60 7181f42b8fca: skipping changeset (no changes)
61 61 $ hg histedit --abort
62 62 abort: no histedit in progress
63 [255]
63 [20]
64 64 $ cd ..
65 65
66 66 Test legacy config name
@@ -169,7 +169,7 b' abort editing session, after first forci'
169 169 $ hg up 0
170 170 abort: histedit in progress
171 171 (use 'hg histedit --continue' or 'hg histedit --abort')
172 [255]
172 [20]
173 173 $ mv .hg/histedit-state .hg/histedit-state-ignore
174 174 $ hg up 0
175 175 0 files updated, 0 files merged, 3 files removed, 0 files unresolved
@@ -125,7 +125,7 b' TODO: Ideally, this should mention the l'
125 125 $ hg clone -q . ../fetch
126 126 $ hg --config extensions.fetch= fetch ../fetch
127 127 abort: uncommitted changes
128 [255]
128 [20]
129 129 $ hg up -qC
130 130 $ cd ..
131 131
@@ -46,7 +46,7 b' noticed by `update --check` in the top l'
46 46
47 47 $ hg up --check -r '.^'
48 48 abort: uncommitted changes
49 [255]
49 [20]
50 50 $ hg st -S
51 51 ! a
52 52 $ hg up -Cq .
@@ -36,7 +36,7 b" of the files in a commit we're updating "
36 36 $ hg ci
37 37 abort: last update was interrupted
38 38 (use 'hg update' to get a consistent checkout)
39 [255]
39 [20]
40 40 $ hg sum
41 41 parent: 0:538afb845929
42 42 commit #0
@@ -16,7 +16,7 b''
16 16 $ rm b
17 17 $ hg update -c 2
18 18 abort: uncommitted changes
19 [255]
19 [20]
20 20 $ hg revert b
21 21 $ hg update -c 2
22 22 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
@@ -812,7 +812,7 b' strip with local changes, should complai'
812 812 $ hg add y
813 813 $ hg strip tip
814 814 abort: uncommitted changes
815 [255]
815 [20]
816 816
817 817 --force strip with local changes
818 818
@@ -129,7 +129,7 b' Update - local renamed file conflicts wi'
129 129 R base
130 130 $ hg up --check dir
131 131 abort: uncommitted changes
132 [255]
132 [20]
133 133 $ hg up dir
134 134 a: path conflict - a file or link has the same name as a directory
135 135 the local file has been renamed to a~d20a80d4def3
@@ -154,7 +154,7 b' Update clean - local directory conflicts'
154 154 $ echo 9 > a/b/c
155 155 $ hg up file2 --check --config merge.checkunknown=warn
156 156 abort: uncommitted changes
157 [255]
157 [20]
158 158 $ hg up file2 --clean
159 159 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
160 160 (activating bookmark file2)
@@ -29,7 +29,7 b' Should respect config to disable dirty u'
29 29 new changesets 107cefe13e42
30 30 1 local changesets published
31 31 abort: uncommitted changes
32 [255]
32 [20]
33 33 $ hg --config extensions.strip= strip --no-backup tip
34 34 $ hg co -qC tip
35 35
@@ -470,4 +470,4 b' qrecord should throw an error when histe'
470 470 > EOF
471 471 abort: histedit in progress
472 472 (use 'hg histedit --continue' or 'hg histedit --abort')
473 [255]
473 [20]
@@ -328,7 +328,7 b' user has somehow managed to update to a '
328 328 $ hg up 1 # user gets an error saying to run hg rebase --abort
329 329 abort: rebase in progress
330 330 (use 'hg rebase --continue', 'hg rebase --abort', or 'hg rebase --stop')
331 [255]
331 [20]
332 332
333 333 $ cat a
334 334 new
@@ -398,20 +398,20 b' New operations are blocked with the corr'
398 398 $ hg rebase -s 3 -d tip
399 399 abort: rebase in progress
400 400 (use 'hg rebase --continue', 'hg rebase --abort', or 'hg rebase --stop')
401 [255]
401 [20]
402 402 $ hg up .
403 403 abort: rebase in progress
404 404 (use 'hg rebase --continue', 'hg rebase --abort', or 'hg rebase --stop')
405 [255]
405 [20]
406 406 $ hg up -C .
407 407 abort: rebase in progress
408 408 (use 'hg rebase --continue', 'hg rebase --abort', or 'hg rebase --stop')
409 [255]
409 [20]
410 410
411 411 $ hg graft 3
412 412 abort: rebase in progress
413 413 (use 'hg rebase --continue', 'hg rebase --abort', or 'hg rebase --stop')
414 [255]
414 [20]
415 415
416 416 $ hg abort
417 417 saved backup bundle to $TESTTMP/interrupted/.hg/strip-backup/3d8812cf300d-93041a90-backup.hg
@@ -57,7 +57,7 b' Try to call --continue:'
57 57
58 58 $ hg rebase --continue
59 59 abort: no rebase in progress
60 [255]
60 [20]
61 61
62 62 Conflicting rebase:
63 63
@@ -484,7 +484,7 b" Retrying without in-memory merge won't l"
484 484 transaction abort!
485 485 rollback completed
486 486 abort: uncommitted changes
487 [255]
487 [20]
488 488 $ cat a
489 489 dirty
490 490
@@ -503,7 +503,7 b" Retrying without in-memory merge won't l"
503 503 $ hg rebase -s 2 -d 7
504 504 abort: outstanding uncommitted merge
505 505 (use 'hg commit' or 'hg merge --abort')
506 [255]
506 [20]
507 507 $ hg resolve -l
508 508 U e
509 509
@@ -893,7 +893,7 b" Test rebasing when we're in the middle o"
893 893 $ hg rebase -r 3 -d 1 -t:merge3
894 894 abort: rebase in progress
895 895 (use 'hg rebase --continue', 'hg rebase --abort', or 'hg rebase --stop')
896 [255]
896 [20]
897 897 $ hg resolve --list
898 898 U foo
899 899 $ hg resolve --all --re-merge -t:other
@@ -392,7 +392,7 b' mangling the working directory...'
392 392 $ hg rebase -s 5 -d 4 --dry-run
393 393 starting dry-run rebase; repository will not be changed
394 394 abort: uncommitted changes
395 [255]
395 [20]
396 396 $ hg diff
397 397 diff -r 2b586e70108d A
398 398 --- a/A Thu Jan 01 00:00:00 1970 +0000
@@ -406,7 +406,7 b' mangling the working directory...'
406 406 $ echo n | hg rebase -s 5 -d 4 --confirm --config ui.interactive=True
407 407 starting in-memory rebase
408 408 abort: uncommitted changes
409 [255]
409 [20]
410 410 $ hg diff
411 411 diff -r 2b586e70108d A
412 412 --- a/A Thu Jan 01 00:00:00 1970 +0000
@@ -417,7 +417,7 b' mangling the working directory...'
417 417 $ hg rebase -s 5 -d 4 --confirm
418 418 starting in-memory rebase
419 419 abort: uncommitted changes
420 [255]
420 [20]
421 421 $ hg diff
422 422 diff -r 2b586e70108d A
423 423 --- a/A Thu Jan 01 00:00:00 1970 +0000
@@ -2058,7 +2058,7 b' Test --stop raise errors with conflictin'
2058 2058 $ hg rebase -s 3 -d 5
2059 2059 abort: rebase in progress
2060 2060 (use 'hg rebase --continue', 'hg rebase --abort', or 'hg rebase --stop')
2061 [255]
2061 [20]
2062 2062 $ hg rebase --stop --continue
2063 2063 abort: cannot specify both --stop and --continue
2064 2064 [10]
@@ -500,7 +500,7 b' Test --tool parameter:'
500 500 $ hg graft --continue
501 501 abort: no graft in progress
502 502 (continue: hg rebase --continue)
503 [255]
503 [20]
504 504 $ hg rebase -c --tool internal:fail
505 505 rebasing 2:e4e3f3546619 tip "c2b"
506 506 note: not rebasing 2:e4e3f3546619 tip "c2b", its destination already has all its changes
@@ -80,7 +80,7 b' Abort pull early if working dir is not c'
80 80 $ hg pull --rebase
81 81 abort: uncommitted changes
82 82 (cannot pull with rebase: please commit or shelve your changes first)
83 [255]
83 [20]
84 84 $ hg update --clean --quiet
85 85
86 86 Abort pull early if another operation (histedit) is in progress:
@@ -94,7 +94,7 b' Abort pull early if another operation (h'
94 94 $ hg pull --rebase
95 95 abort: histedit in progress
96 96 (use 'hg histedit --continue' or 'hg histedit --abort')
97 [255]
97 [20]
98 98 $ hg histedit --abort --quiet
99 99
100 100 Abort pull early with pending uncommitted merge:
@@ -117,7 +117,7 b' Abort pull early with pending uncommitte'
117 117 $ hg pull --rebase
118 118 abort: outstanding uncommitted merge
119 119 (cannot pull with rebase: please commit or shelve your changes first)
120 [255]
120 [20]
121 121 $ hg update --clean --quiet
122 122
123 123 Abort pull early with unclean subrepo:
@@ -132,13 +132,13 b' resolve --all should abort when no merge'
132 132
133 133 $ hg resolve --all
134 134 abort: resolve command not applicable when not merging
135 [255]
135 [20]
136 136
137 137 resolve -m should abort when no merge in progress
138 138
139 139 $ hg resolve -m
140 140 abort: resolve command not applicable when not merging
141 [255]
141 [20]
142 142
143 143 can not update or merge when there are unresolved conflicts
144 144
@@ -332,7 +332,7 b' resolve -m can be configured to look for'
332 332 file2
333 333 abort: conflict markers detected
334 334 (use --all to mark anyway)
335 [255]
335 [20]
336 336 $ hg resolve -l
337 337 U file1
338 338 U file2
@@ -442,7 +442,7 b' ensure that we have a merge with unresol'
442 442 $ hg shelve
443 443 abort: unshelve already in progress
444 444 (use 'hg unshelve --continue' or 'hg unshelve --abort')
445 [255]
445 [20]
446 446
447 447 abort the unshelve and be happy
448 448
@@ -474,7 +474,7 b' try to continue with no unshelve underwa'
474 474
475 475 $ hg unshelve -c
476 476 abort: no unshelve in progress
477 [255]
477 [20]
478 478 $ hg status
479 479 A foo/foo
480 480 ? a/a.orig
@@ -501,12 +501,12 b' attempt to continue'
501 501 $ hg commit -m 'commit while unshelve in progress'
502 502 abort: unshelve already in progress
503 503 (use 'hg unshelve --continue' or 'hg unshelve --abort')
504 [255]
504 [20]
505 505
506 506 $ hg graft --continue
507 507 abort: no graft in progress
508 508 (continue: hg unshelve --continue)
509 [255]
509 [20]
510 510 $ hg unshelve -c
511 511 unshelve of 'default' complete
512 512
@@ -1184,7 +1184,7 b' Abort unshelve while merging (issue5123)'
1184 1184 $ hg unshelve
1185 1185 abort: outstanding uncommitted merge
1186 1186 (use 'hg commit' or 'hg merge --abort')
1187 [255]
1187 [20]
1188 1188
1189 1189 $ cd ..
1190 1190
@@ -1483,7 +1483,7 b' Abort unshelve while merging (issue5123)'
1483 1483
1484 1484 $ hg unshelve --continue
1485 1485 abort: no unshelve in progress
1486 [255]
1486 [20]
1487 1487
1488 1488 $ hg shelve --list
1489 1489 default-01 (*)* changes to: add A to bars (glob)
@@ -737,7 +737,7 b' progress'
737 737 #if abortflag
738 738 $ hg unshelve --abort
739 739 abort: no unshelve in progress
740 [255]
740 [20]
741 741 #else
742 742 $ hg abort
743 743 aborting the merge, updating back to 9451eaa6eee3
@@ -912,7 +912,7 b' Block merge abort when unshelve in progr'
912 912 $ hg merge --abort
913 913 abort: cannot abort merge with unshelve in progress
914 914 (use 'hg unshelve --continue' or 'hg unshelve --abort')
915 [255]
915 [20]
916 916
917 917 $ hg unshelve --abort
918 918 unshelve of 'default' aborted
@@ -89,7 +89,7 b' Cannot split while working directory is '
89 89 $ hg add dirty
90 90 $ hg split .
91 91 abort: uncommitted changes
92 [255]
92 [20]
93 93 $ hg forget dirty
94 94 $ rm dirty
95 95
@@ -317,7 +317,7 b' before strip of merge parent'
317 317 $ hg strip 4
318 318 abort: outstanding uncommitted merge
319 319 (use 'hg commit' or 'hg merge --abort')
320 [255]
320 [20]
321 321 ##strip allowed --force with merge in progress
322 322 $ hg strip 4 --force
323 323 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
@@ -606,7 +606,7 b' Verify strip protects against stripping '
606 606 $ echo c > b
607 607 $ hg strip tip
608 608 abort: uncommitted changes
609 [255]
609 [20]
610 610 $ hg strip tip --keep
611 611 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
612 612 $ hg log --graph
@@ -758,7 +758,7 b' test hg strip -B bookmark'
758 758 $ hg add a
759 759 $ hg strip -B B
760 760 abort: uncommitted changes
761 [255]
761 [20]
762 762 $ hg bookmarks
763 763 * B 6:ff43616e5d0f
764 764
@@ -492,11 +492,11 b' tagging on an uncommitted merge (issue25'
492 492
493 493 $ hg tag t1
494 494 abort: uncommitted merge
495 [255]
495 [20]
496 496 $ hg status
497 497 $ hg tag --rev 1 t2
498 498 abort: uncommitted merge
499 [255]
499 [20]
500 500 $ hg tag --rev 1 --local t3
501 501 $ hg tags -v
502 502 tip 2:2a156e8887cc
@@ -53,12 +53,12 b''
53 53 $ hg transplant 1
54 54 abort: outstanding uncommitted merge
55 55 (use 'hg commit' or 'hg merge --abort')
56 [255]
56 [20]
57 57 $ hg up -qC tip
58 58 $ echo b0 > b1
59 59 $ hg transplant 1
60 60 abort: uncommitted changes
61 [255]
61 [20]
62 62 $ hg up -qC tip
63 63 $ echo b2 > b2
64 64 $ hg ci -Amb2 -d '1 0'
@@ -513,10 +513,10 b" transplant -c shouldn't use an old chang"
513 513 $ hg continue
514 514 abort: no transplant to continue (continueflag !)
515 515 abort: no operation in progress (no-continueflag !)
516 [255]
516 [20]
517 517 $ hg transplant --stop
518 518 abort: no interrupted transplant found
519 [255]
519 [20]
520 520 $ hg transplant 1
521 521 applying 46ae92138f3c
522 522 patching file foo
@@ -571,7 +571,7 b' test multiple revisions, --continue and '
571 571 $ hg transplant 1:3
572 572 abort: transplant in progress
573 573 (use 'hg transplant --continue' or 'hg transplant --stop')
574 [255]
574 [20]
575 575 $ hg status -v
576 576 A bar
577 577 ? added.rej
@@ -168,11 +168,11 b' Uncommit with dirty state'
168 168 $ hg uncommit
169 169 abort: uncommitted changes
170 170 (requires --allow-dirty-working-copy to uncommit)
171 [255]
171 [20]
172 172 $ hg uncommit files
173 173 abort: uncommitted changes
174 174 (requires --allow-dirty-working-copy to uncommit)
175 [255]
175 [20]
176 176 $ cat files
177 177 abcde
178 178 foo
@@ -184,7 +184,7 b" Testing the 'experimental.uncommitondirt"
184 184 $ hg uncommit
185 185 abort: uncommitted changes
186 186 (requires --allow-dirty-working-copy to uncommit)
187 [255]
187 [20]
188 188 $ hg uncommit --config experimental.uncommitondirtywdir=True
189 189 $ hg commit -m "files abcde + foo"
190 190
@@ -407,7 +407,7 b' Add and expect uncommit to fail on both '
407 407 $ hg uncommit
408 408 abort: outstanding uncommitted merge
409 409 (requires --allow-dirty-working-copy to uncommit)
410 [255]
410 [20]
411 411
412 412 $ hg uncommit --config experimental.uncommitondirtywdir=True
413 413 abort: cannot uncommit while merging
@@ -507,7 +507,7 b' Copy a->b1 and a->b2, then rename b1->c '
507 507 $ hg uncommit b
508 508 abort: uncommitted changes
509 509 (requires --allow-dirty-working-copy to uncommit)
510 [255]
510 [20]
511 511 $ hg uncommit --allow-dirty-working-copy b
512 512 $ hg log
513 513 changeset: 3:30fa958635b2
@@ -701,6 +701,6 b' Test that boolean flags allow --no-flag '
701 701 > EOF
702 702 $ hg co 2
703 703 abort: uncommitted changes
704 [255]
704 [20]
705 705 $ hg co --no-check 2
706 706 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
@@ -19,7 +19,7 b' Test that local removed/deleted, remote '
19 19 $ echo dirty > foo
20 20 $ hg up -c
21 21 abort: uncommitted changes
22 [255]
22 [20]
23 23 $ hg up -q
24 24 $ cat foo
25 25 dirty
General Comments 0
You need to be logged in to leave comments. Login now