Rev 97: Fix a bug in revision_id => dotted. in http://bzr.arbash-meinel.com/plugins/history_db

John Arbash Meinel john at arbash-meinel.com
Wed Apr 14 19:38:39 BST 2010


At http://bzr.arbash-meinel.com/plugins/history_db

------------------------------------------------------------
revno: 97
revision-id: john at arbash-meinel.com-20100414183820-symb4jca6b516a4a
parent: john at arbash-meinel.com-20100414183732-83yarj5nw51ciko2
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: history_db
timestamp: Wed 2010-04-14 13:38:20 -0500
message:
  Fix a bug in revision_id => dotted.
  
  We were failing to terminate the loop once all revno_strs had been found.
  So we always walked the full ancestry. Both because we were discarding
  the wrong object, and because we weren't checking that there were
  no more objects to search for.
-------------- next part --------------
=== modified file 'history_db.py'
--- a/history_db.py	2010-04-14 17:47:31 +0000
+++ b/history_db.py	2010-04-14 18:38:20 +0000
@@ -1358,7 +1358,7 @@
         #       To indicate that the branch has not been imported yet
         revno_strs = set(['.'.join(map(str, revno)) for revno in revnos])
         revno_map = {}
-        while tip_db_id is not None:
+        while tip_db_id is not None and revno_strs:
             self._stats['num_steps'] += 1
             range_res = self._cursor.execute(
                 "SELECT pkey, tail"
@@ -1388,7 +1388,7 @@
             tip_db_id = next_db_id
             for revision_id, revno_str in revision_res:
                 dotted = tuple(map(int, revno_str.split('.')))
-                revno_strs.discard(dotted)
+                revno_strs.discard(revno_str)
                 revno_map[dotted] = revision_id
         self._stats['query_time'] += (time.time() - t)
         return revno_map
@@ -1623,7 +1623,7 @@
                     "  FROM dotted_revno, revision"
                     " WHERE tip_revision = ?"
                     "   AND db_id = merged_revision",
-                    [tip_db_id]).fetchall()
+                    (tip_db_id,)).fetchall()
                 next_db_id = self._get_lh_parent_db_id(tip_db_id)
             else:
                 pkey, next_db_id = range_res



More information about the bazaar-commits mailing list