return os.path.getsize(self.master(arg)) > 105
def workfile(self, arg):
return arg[:-2]
+ def splitrev(self, rev):
+ "RCS revision to numeric tuple."
+ return [int(d) for d in rev.split(".")]
+ def joinrev(self, rev):
+ "Numeric tuple to RC revision."
+ return ".".join([str(d) for d in rev])
def pred(self, revno, metadata):
- "Our predecessor on the branch (0-origin)."
- n = [int(d) for d in rev.split(".")]
+ "Our predecessor on the branch (1-origin)."
+ rev = metadata.by_revno(revno).revision
+ n = self.splitrev(rev)
if n[-1] > 1:
- n[-1] += 1
- rev = ".".join(n)
+ n[-1] -= 1
+ rev = self.joinrev(n)
else:
- rev = ".".join(n[:-2])
- # Prevent O(n**2) blowup when enumerating these
- if revno >= 2 and metadata[revno - 2].revision == rev:
- return revno - 1
+ rev = self.joinrev(n[:-2])
for (i, item) in enumerate(metadata.revlist):
if item.revision == rev:
- return i
+ return metadata[i].revno
return None
def succ(self, revno, metadata):
- "Our successor on the current branch (0-origin)."
- rev = metatada[revno - 1].revision
- n = [int(d) for d in rev.split(".")]
+ "Our successor on the current branch (1-origin)."
+ rev = metadata.by_revno(revno).revision
+ n = self.splitrev(rev)
n[-1] += 1
- rev = ".".join(n)
+ rev = self.joinrev(n)
for (i, item) in enumerate(metadata.revlist):
if item.revision == rev:
- return i
+ return metadata[i].revno
return None
def add(self, arg):
"Register a file"