if not comment.endswith("\n"):
comment += "\n"
comment = comment.replace("'", r"\'")
- with RCS.lifter(arg):
+ with backend.lifter(arg):
backend.checkin(arg, comment)
if not quiet and len(args) > 1:
announce("%s -> %d" % (arg, len(metadata)))
croak("%s has only %d revisions" % (arg, len(master)))
else:
revision = master[len(master) - revspec[0]].revision
- with RCS.lifter(arg):
+ with backend.lifter(arg):
backend.checkout(arg, revision)
if not quiet and len(args) > 1:
announce("%s <- %d" % (arg, revspec[0]))
revspec = master.resolve(revspec)
if revspec is None:
revspec = [master.tip().revno]
- with RCS.lifter(arg):
+ with backend.lifter(arg):
for item in master:
if item.revno in revspec:
backend.cat(arg, item.revision)
diffspec1 += master.revno_to_rcs(revspec[0])
if len(revspec) > 1:
diffspec2 += master.revno_to_rcs(revspec[1])
- with RCS.lifter(arg):
+ with backend.lifter(arg):
backend.diff(diffspec1, diffspec2, diffopts, arg)
def list_tags(*args):
if tagname not in master.symbols:
croak("%s is not a tag in %s" % (tagname, arg))
else:
- with RCS.lifter(arg):
+ with backend.lifter(arg):
backend.delete_tag(tagname, arg)
if not quiet and len(args) > 1:
announce("tag %s removed from %s" % (tagname, arg))
revno = revspec[0]
else:
croak("can't accept a range when setting tags.")
- with RCS.lifter(arg):
+ with backend.lifter(arg):
backend.set_tag(tagname, revision, arg)
if not quiet and len(args) > 1:
announce("tag %s = %s in " % (tagname, revno, arg))
if revspec is None:
revspec = 1
revrange = range(revspec, len(metadata)+1)
- with RCS.lifter(arg):
+ with backend.lifter(arg):
markmap = {}
last_commit_mark = 0
if len(args) == 1:
class RCS:
"Encapsulate RCS back end methods."
- class lifter:
+ class RCSLifter:
"Temporatily lift a master to the working directory."
def __init__(self, name):
self.name = name
def __exit__(self, extype, value, traceback_unused):
do_or_die("mv {0},v {1}".format(self.name, repodir))
return True
+ def lifter(self, name):
+ return RCS.RCSLifter(name)
def master(self, arg):
return os.path.join(repodir, arg + ",v")
def add(self, arg):
diffspec2 = "-r" + diffspec1
do_or_die("rcsdiff -q {0} {1} {2} || :".format(diffspec, diffopts, arg),loud=True)
-
if __name__ == "__main__":
command = list(sys.argv[1:])
explicit = False