if master.isbranch(arg) == (legend == "branch"):
sys.stdout.write("%4d\t%s\n" % (master.rcs_to_revno(value),key))
return
+ if args[0] in ("-r", "rename"):
+ args.pop(0)
+ if name not in metadata.symbols:
+ croak("cannot rename nonexistent %s" % legend)
+ if not args:
+ croak("rename requires a second name argement")
+ newname = args.pop(0)
+ if newname in metadata.symbols:
+ croak("cannot rename to existing %s" % legend)
+ (revspec, args) = preamble(legend, args)
+ if revspec is not None:
+ croak("can't accept a revision-spec when %s renaming." % legend)
+ # In the case of a branch, we want to change only the tag reference.
+ backend.tag_set(newname, self.symbols[name], arg)
+ backend.tag_delete(name, arg)
if not args:
croak("%s setting requires a name argument" % legend)
name = args.pop(0)
- (revspec, args) = preamble("tag", args)
+ (revspec, args) = preamble(legend, args)
for arg in args:
metadata = History(arg)
revspec = metadata.resolve(revspec)