p = s = self.native_to_revno(self.current())
selection = [self.by_revno(p)]
while True:
- p = backend.pred(p, self)
+ rev = self.revno_to_native(p)
+ rev = backend.pred(rev)
+ p = self.native_to_revno(rev)
if p is None:
break
selection = [self.by_revno(p)] + selection
while True:
- s = backend.succ(s, self)
+ rev = self.revno_to_native(s)
+ rev = backend.succ(rev)
+ s = self.native_to_revno(rev)
if s is None:
break
selection.append(self.by_revno(s))
"Return a list of items that are descendants of start, up to end."
selection = [self.by_revno(s)]
while True:
- s = backend.succ(s, self)
+ rev = self.revno_to_native(s)
+ rev = backend.succ(rev)
+ s = self.native_to_revno(rev)
if s is None:
croak("%s is not an ancestor of %s" % (start, end))
selection.append(self.by_revno(s))
"Return the tip revision of the current branch."
s = self.native_to_revno(self.current())
while True:
- nxt = backend.succ(s, self)
+ rev = self.revno_to_native(s)
+ rev = backend.succ(rev)
+ nxt = self.native_to_revno(rev)
if nxt is None:
return self.by_revno(s)
else:
self.seq = [self.start]
s = self.start
while True:
- s = backend.succ(s, metadata)
+ rev = self.revno_to_native(s)
+ next = backend.succ(s)
+ s = self.native_to_revno(rev)
if s is None:
croak("%s is not an ancestor of %s" % (self.start, self.end))
self.seq.append(s)
croak("%s is not registered." % arg)
comment.edit()
for arg in ctx.args:
- metadata = History(arg)
- ctx.resolve(metadata)
- if ctx.is_empty():
- ctx.start = metadata.tip().revno
- with backend.lifter(arg):
- backend.amend(arg,
- metadata.revno_to_native(ctx.start),
- comment.content())
- if not quiet and len(args) > 1:
- announce("%s : %d" % (arg, len(metadata)))
+ metadata = History(arg)
+ ctx.resolve(metadata)
+ if ctx.is_empty():
+ ctx.start = metadata.tip().revno
+ with backend.lifter(arg):
+ backend.amend(arg,
+ metadata.revno_to_native(ctx.start),
+ comment.content())
+ if not quiet and len(args) > 1:
+ announce("%s : %d" % (arg, len(metadata)))
def list_method(*args):
"Generate a summary listing of commits, one line per commit."
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 (1-origin)."
- rev = metadata.revno_to_native(revno)
+ def pred(self, rev):
+ "Our predecessor. Walks up parent branch."
n = self.splitrev(rev)
if n[-1] > 1:
n[-1] -= 1
rev = self.joinrev(n)
else:
rev = self.joinrev(n[:-2])
- return metadata.native_to_revno(rev)
- def succ(self, revno, metadata):
- "Our successor on the current branch (1-origin)."
- rev = metadata.revno_to_native(revno)
+ return rev
+ def succ(self, rev):
+ "Our successor."
n = self.splitrev(rev)
n[-1] += 1
- rev = self.joinrev(n)
- return metadata.native_to_revno(rev)
+ return self.joinrev(n)
def branch_to_base(self, revid):
"Go from a branch ID sticky tag to the revision it was based on."
return self.joinrev(self.splitrev(revid)[:-2])