1226 rev = opts.get(b'rev') |
1226 rev = opts.get(b'rev') |
1227 inactive = opts.get(b'inactive') # meaning add/rename to inactive bookmark |
1227 inactive = opts.get(b'inactive') # meaning add/rename to inactive bookmark |
1228 |
1228 |
1229 action = cmdutil.check_at_most_one_arg(opts, b'delete', b'rename', b'list') |
1229 action = cmdutil.check_at_most_one_arg(opts, b'delete', b'rename', b'list') |
1230 if action: |
1230 if action: |
1231 cmdutil.check_incompatible_arguments(opts, action, b'rev') |
1231 cmdutil.check_incompatible_arguments(opts, action, [b'rev']) |
1232 elif names or rev: |
1232 elif names or rev: |
1233 action = b'add' |
1233 action = b'add' |
1234 elif inactive: |
1234 elif inactive: |
1235 action = b'inactive' # meaning deactivate |
1235 action = b'inactive' # meaning deactivate |
1236 else: |
1236 else: |
1237 action = b'list' |
1237 action = b'list' |
1238 |
1238 |
1239 cmdutil.check_incompatible_arguments(opts, b'inactive', b'delete', b'list') |
1239 cmdutil.check_incompatible_arguments( |
|
1240 opts, b'inactive', [b'delete', b'list'] |
|
1241 ) |
1240 if not names and action in {b'add', b'delete'}: |
1242 if not names and action in {b'add', b'delete'}: |
1241 raise error.Abort(_(b"bookmark name required")) |
1243 raise error.Abort(_(b"bookmark name required")) |
1242 |
1244 |
1243 if action in {b'add', b'delete', b'rename', b'inactive'}: |
1245 if action in {b'add', b'delete', b'rename', b'inactive'}: |
1244 with repo.wlock(), repo.lock(), repo.transaction(b'bookmark') as tr: |
1246 with repo.wlock(), repo.lock(), repo.transaction(b'bookmark') as tr: |
4845 |
4847 |
4846 opts = pycompat.byteskwargs(opts) |
4848 opts = pycompat.byteskwargs(opts) |
4847 abort = opts.get(b'abort') |
4849 abort = opts.get(b'abort') |
4848 if abort and repo.dirstate.p2() == nullid: |
4850 if abort and repo.dirstate.p2() == nullid: |
4849 cmdutil.wrongtooltocontinue(repo, _(b'merge')) |
4851 cmdutil.wrongtooltocontinue(repo, _(b'merge')) |
4850 cmdutil.check_incompatible_arguments(opts, b'abort', b'rev', b'preview') |
4852 cmdutil.check_incompatible_arguments(opts, b'abort', [b'rev', b'preview']) |
4851 if abort: |
4853 if abort: |
4852 state = cmdutil.getunfinishedstate(repo) |
4854 state = cmdutil.getunfinishedstate(repo) |
4853 if state and state._opname != b'merge': |
4855 if state and state._opname != b'merge': |
4854 raise error.Abort( |
4856 raise error.Abort( |
4855 _(b'cannot abort merge with %s in progress') % (state._opname), |
4857 _(b'cannot abort merge with %s in progress') % (state._opname), |