croak("%s setting requires a name argument" % legend)
name = args.pop(0)
ctx = CommandContext(legend, args)
+ if ctx.is_range():
+ croak("can't accept a range when setting a %s" % legend)
for arg in ctx.args:
metadata = History(arg)
# Semantics differs between tags and branches here
if name in metadata.symbols:
croak("%s %s already set." % (legend, name))
if ctx.is_empty():
- revision = metadata.tip().revision
- revno = metadata.tip().revno
- elif ctx.is_singleton():
- revision = metadata.revno_to_rcs(ctx.start)
- revno = ctx.start
- else:
- croak("can't accept a range when %s setting" % legend)
+ ctx.start = metadata.tip().revno
elif legend == "branch":
if not ctx.is_empty():
croak("cannot accept a revision after a branch name")
else:
croak("internal error - what is this thing called %s" % legend)
with backend.lifter(arg):
- set_method(name, revision, arg)
+ set_method(name, metadata.revno_to_rcs(ctx.start), arg)
if not quiet and len(args) > 1:
announce("%s %s = %s in " % (legend, name, revno, arg))