]> thyrsus.com Git - src.git/commitdiff
Beginnings of fast-traversal machinery.
authorEric S. Raymond <esr@thyrsus.com>
Fri, 14 Nov 2014 15:20:03 +0000 (10:20 -0500)
committerEric S. Raymond <esr@thyrsus.com>
Fri, 14 Nov 2014 15:20:03 +0000 (10:20 -0500)
src

diff --git a/src b/src
index a6b4bbfdb2dee94a168c7451f5fea32c448c8e01..21e1e9b87da2951e8d8b1e570685d388526c3ff0 100755 (executable)
--- 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):