From: Eric S. Raymond Date: Fri, 14 Nov 2014 15:20:03 +0000 (-0500) Subject: Beginnings of fast-traversal machinery. X-Git-Tag: 0.9~30 X-Git-Url: http://thyrsus.com/gitweb/?a=commitdiff_plain;h=5ace475ae369bc58d6fd566f7a438f0b2cf7f96c;p=src.git Beginnings of fast-traversal machinery. --- diff --git a/src b/src index a6b4bbf..21e1e9b 100755 --- a/src +++ b/src @@ -159,6 +159,9 @@ class HistoryEntry: self.native = None # magic cookie only interpreted by back end self.log = "" self.date = None + self.parent = None + self.child = None + self.branches = set([]) def selected(self): return self.native == self.history.current() def unixtime(self): @@ -184,9 +187,19 @@ class History: backend.parse(self) self.by_revno_d = {} self.by_native_d = {} + self.parent = None + self.child = None + self.branches = set([]) for item in self.revlist: self.by_revno_d[item.revno] = item self.by_native_d[item.native] = item + for item in self.revlist: + pass + #self.parent = self.by_native_d[backend.pred(item.native)] + #self.child = self.by_native_d[backend.succ(item.native)] + #if self.parent.revno in self.by_revno_d: + # if self.parent.child != self: + # self.parent.branches.add(self) def __len__(self): return len(self.revlist) def current(self):