Rev 27: Use add_cleanup, it is clearer code. in http://bzr.arbash-meinel.com/plugins/history_db

John Arbash Meinel john at arbash-meinel.com
Fri Apr 2 23:20:40 BST 2010


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

------------------------------------------------------------
revno: 27
revision-id: john at arbash-meinel.com-20100402222006-79xj0syl4lodf352
parent: john at arbash-meinel.com-20100402221927-f7fwg6gcug5bgl2n
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: history_db
timestamp: Fri 2010-04-02 17:20:06 -0500
message:
  Use add_cleanup, it is clearer code.
-------------- next part --------------
=== modified file '__init__.py'
--- a/__init__.py	2010-04-02 22:19:27 +0000
+++ b/__init__.py	2010-04-02 22:20:06 +0000
@@ -122,25 +122,23 @@
         import time
         b = branch.Branch.open(directory)
         b.lock_read()
-        try:
-            t = time.time()
-            if method.startswith('db'):
-                query = history_db.Querier(db, b)
-                if method == 'db-db-id':
-                    mainline = query.walk_mainline_db_ids()
-                elif method == 'db-rev-id':
-                    mainline = query.walk_mainline()
-                else:
-                    assert method == 'db-range'
-                    mainline = query.walk_mainline_using_ranges()
-                tdelta = time.time() - t
-                trace.note('Stats:\n%s' % (pprint.pformat(dict(query._stats)),))
+        self.add_cleanup(b.unlock)
+        t = time.time()
+        if method.startswith('db'):
+            query = history_db.Querier(db, b)
+            if method == 'db-db-id':
+                mainline = query.walk_mainline_db_ids()
+            elif method == 'db-rev-id':
+                mainline = query.walk_mainline()
             else:
-                assert method == 'bzr'
-                mainline = b.revision_history()
-                tdelta = time.time() - t
-        finally:
-            b.unlock()
+                assert method == 'db-range'
+                mainline = query.walk_mainline_using_ranges()
+            tdelta = time.time() - t
+            trace.note('Stats:\n%s' % (pprint.pformat(dict(query._stats)),))
+        else:
+            assert method == 'bzr'
+            mainline = b.revision_history()
+            tdelta = time.time() - t
         self.outf.write('Found %d revs\n' % (len(mainline),))
         trace.note('Time: %.3fs' % (tdelta,))
         # Time to walk bzr mainline



More information about the bazaar-commits mailing list