equal
deleted
inserted
replaced
185 use --dry-run/-n to dry run the command. |
185 use --dry-run/-n to dry run the command. |
186 """ |
186 """ |
187 dryrun = opts.get('dry_run') |
187 dryrun = opts.get('dry_run') |
188 abortstate = cmdutil.getunfinishedstate(repo) |
188 abortstate = cmdutil.getunfinishedstate(repo) |
189 if not abortstate: |
189 if not abortstate: |
190 raise error.Abort(_(b'no operation in progress')) |
190 raise error.StateError(_(b'no operation in progress')) |
191 if not abortstate.abortfunc: |
191 if not abortstate.abortfunc: |
192 raise error.InputError( |
192 raise error.InputError( |
193 ( |
193 ( |
194 _(b"%s in progress but does not support 'hg abort'") |
194 _(b"%s in progress but does not support 'hg abort'") |
195 % (abortstate._opname) |
195 % (abortstate._opname) |
1063 changesets = 1 |
1063 changesets = 1 |
1064 if noupdate: |
1064 if noupdate: |
1065 try: |
1065 try: |
1066 node = state[b'current'][0] |
1066 node = state[b'current'][0] |
1067 except LookupError: |
1067 except LookupError: |
1068 raise error.Abort( |
1068 raise error.StateError( |
1069 _( |
1069 _( |
1070 b'current bisect revision is unknown - ' |
1070 b'current bisect revision is unknown - ' |
1071 b'start a new bisect to fix' |
1071 b'start a new bisect to fix' |
1072 ) |
1072 ) |
1073 ) |
1073 ) |
1074 else: |
1074 else: |
1075 node, p2 = repo.dirstate.parents() |
1075 node, p2 = repo.dirstate.parents() |
1076 if p2 != nullid: |
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 if rev: |
1078 if rev: |
1079 node = repo[scmutil.revsingle(repo, rev, node)].node() |
1079 node = repo[scmutil.revsingle(repo, rev, node)].node() |
1080 with hbisect.restore_state(repo, state, node): |
1080 with hbisect.restore_state(repo, state, node): |
1081 while changesets: |
1081 while changesets: |
1082 # update state |
1082 # update state |
1125 % (extendnode.rev(), extendnode) |
1125 % (extendnode.rev(), extendnode) |
1126 ) |
1126 ) |
1127 state[b'current'] = [extendnode.node()] |
1127 state[b'current'] = [extendnode.node()] |
1128 hbisect.save_state(repo, state) |
1128 hbisect.save_state(repo, state) |
1129 return mayupdate(repo, extendnode.node()) |
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 if changesets == 0: |
1132 if changesets == 0: |
1133 hbisect.printresult(ui, repo, state, displayer, nodes, good) |
1133 hbisect.printresult(ui, repo, state, displayer, nodes, good) |
1134 else: |
1134 else: |
1135 assert len(nodes) == 1 # only a single node can be tested next |
1135 assert len(nodes) == 1 # only a single node can be tested next |
2333 use --dry-run/-n to dry run the command. |
2333 use --dry-run/-n to dry run the command. |
2334 """ |
2334 """ |
2335 dryrun = opts.get('dry_run') |
2335 dryrun = opts.get('dry_run') |
2336 contstate = cmdutil.getunfinishedstate(repo) |
2336 contstate = cmdutil.getunfinishedstate(repo) |
2337 if not contstate: |
2337 if not contstate: |
2338 raise error.Abort(_(b'no operation in progress')) |
2338 raise error.StateError(_(b'no operation in progress')) |
2339 if not contstate.continuefunc: |
2339 if not contstate.continuefunc: |
2340 raise error.Abort( |
2340 raise error.StateError( |
2341 ( |
2341 ( |
2342 _(b"%s in progress but does not support 'hg continue'") |
2342 _(b"%s in progress but does not support 'hg continue'") |
2343 % (contstate._opname) |
2343 % (contstate._opname) |
2344 ), |
2344 ), |
2345 hint=contstate.continuemsg(), |
2345 hint=contstate.continuemsg(), |
3268 |
3268 |
3269 |
3269 |
3270 def _stopgraft(ui, repo, graftstate): |
3270 def _stopgraft(ui, repo, graftstate): |
3271 """stop the interrupted graft""" |
3271 """stop the interrupted graft""" |
3272 if not graftstate.exists(): |
3272 if not graftstate.exists(): |
3273 raise error.Abort(_(b"no interrupted graft found")) |
3273 raise error.StateError(_(b"no interrupted graft found")) |
3274 pctx = repo[b'.'] |
3274 pctx = repo[b'.'] |
3275 mergemod.clean_update(pctx) |
3275 mergemod.clean_update(pctx) |
3276 graftstate.delete() |
3276 graftstate.delete() |
3277 ui.status(_(b"stopped the interrupted graft\n")) |
3277 ui.status(_(b"stopped the interrupted graft\n")) |
3278 ui.status(_(b"working directory is now at %s\n") % pctx.hex()[:12]) |
3278 ui.status(_(b"working directory is now at %s\n") % pctx.hex()[:12]) |
4765 cmdutil.wrongtooltocontinue(repo, _(b'merge')) |
4765 cmdutil.wrongtooltocontinue(repo, _(b'merge')) |
4766 cmdutil.check_incompatible_arguments(opts, b'abort', [b'rev', b'preview']) |
4766 cmdutil.check_incompatible_arguments(opts, b'abort', [b'rev', b'preview']) |
4767 if abort: |
4767 if abort: |
4768 state = cmdutil.getunfinishedstate(repo) |
4768 state = cmdutil.getunfinishedstate(repo) |
4769 if state and state._opname != b'merge': |
4769 if state and state._opname != b'merge': |
4770 raise error.Abort( |
4770 raise error.StateError( |
4771 _(b'cannot abort merge with %s in progress') % (state._opname), |
4771 _(b'cannot abort merge with %s in progress') % (state._opname), |
4772 hint=state.hint(), |
4772 hint=state.hint(), |
4773 ) |
4773 ) |
4774 if node: |
4774 if node: |
4775 raise error.InputError(_(b"cannot specify a node with --abort")) |
4775 raise error.InputError(_(b"cannot specify a node with --abort")) |
5891 |
5891 |
5892 with repo.wlock(): |
5892 with repo.wlock(): |
5893 ms = mergestatemod.mergestate.read(repo) |
5893 ms = mergestatemod.mergestate.read(repo) |
5894 |
5894 |
5895 if not (ms.active() or repo.dirstate.p2() != nullid): |
5895 if not (ms.active() or repo.dirstate.p2() != nullid): |
5896 raise error.Abort( |
5896 raise error.StateError( |
5897 _(b'resolve command not applicable when not merging') |
5897 _(b'resolve command not applicable when not merging') |
5898 ) |
5898 ) |
5899 |
5899 |
5900 wctx = repo[None] |
5900 wctx = repo[None] |
5901 m = scmutil.match(wctx, pats, opts) |
5901 m = scmutil.match(wctx, pats, opts) |
5983 + b''.join( |
5983 + b''.join( |
5984 b' ' + uipathfn(f) + b'\n' for f in hasconflictmarkers |
5984 b' ' + uipathfn(f) + b'\n' for f in hasconflictmarkers |
5985 ) |
5985 ) |
5986 ) |
5986 ) |
5987 if markcheck == b'abort' and not all and not pats: |
5987 if markcheck == b'abort' and not all and not pats: |
5988 raise error.Abort( |
5988 raise error.StateError( |
5989 _(b'conflict markers detected'), |
5989 _(b'conflict markers detected'), |
5990 hint=_(b'use --all to mark anyway'), |
5990 hint=_(b'use --all to mark anyway'), |
5991 ) |
5991 ) |
5992 |
5992 |
5993 for f in tocomplete: |
5993 for f in tocomplete: |
7183 _(b"tag '%s' already exists (use -f to force)") % n |
7183 _(b"tag '%s' already exists (use -f to force)") % n |
7184 ) |
7184 ) |
7185 if not opts.get(b'local'): |
7185 if not opts.get(b'local'): |
7186 p1, p2 = repo.dirstate.parents() |
7186 p1, p2 = repo.dirstate.parents() |
7187 if p2 != nullid: |
7187 if p2 != nullid: |
7188 raise error.Abort(_(b'uncommitted merge')) |
7188 raise error.StateError(_(b'uncommitted merge')) |
7189 bheads = repo.branchheads() |
7189 bheads = repo.branchheads() |
7190 if not opts.get(b'force') and bheads and p1 not in bheads: |
7190 if not opts.get(b'force') and bheads and p1 not in bheads: |
7191 raise error.InputError( |
7191 raise error.InputError( |
7192 _( |
7192 _( |
7193 b'working directory is not at a branch head ' |
7193 b'working directory is not at a branch head ' |