Rev 1557: Fix caching. in file:///data/jelmer/bzr-svn/pushmerged/
Jelmer Vernooij
jelmer at samba.org
Sun Aug 3 16:59:07 BST 2008
At file:///data/jelmer/bzr-svn/pushmerged/
------------------------------------------------------------
revno: 1557
revision-id: jelmer at samba.org-20080803155905-dk9t1da9cjr4aviy
parent: jelmer at samba.org-20080803151349-l2told14238rupq6
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: pushmerged
timestamp: Sun 2008-08-03 17:59:05 +0200
message:
Fix caching.
modified:
changes.py changes.py-20080330205801-lh92uht2ztppvdcz-1
revids.py revids.py-20070416220458-36vfa0730cchevp1-1
=== modified file 'changes.py'
--- a/changes.py 2008-03-30 20:59:01 +0000
+++ b/changes.py 2008-08-03 15:59:05 +0000
@@ -42,7 +42,8 @@
if paths[branch_path][1] is None:
return None # Was added here
revnum = paths[branch_path][2]
- branch_path = paths[branch_path][1].encode("utf-8")
+ assert isinstance(paths[branch_path][1], str)
+ branch_path = paths[branch_path][1]
return (branch_path, revnum)
# Make sure we get the right location for the next time if
=== modified file 'revids.py'
--- a/revids.py 2008-08-03 05:35:31 +0000
+++ b/revids.py 2008-08-03 15:59:05 +0000
@@ -247,7 +247,11 @@
"select path, min_revnum, max_revnum, scheme from revmap where revid=?", (revid,)).fetchone()
if ret is None:
raise NoSuchRevision(self, revid)
- return (ret[0].encode("utf-8"), int(ret[1]), int(ret[2]), ret[3].encode("utf-8"))
+ (path, min_revnum, max_revnum, scheme) = (ret[0].encode("utf-8"), int(ret[1]), int(ret[2]), ret[3].encode("utf-8"))
+ if min_revnum > max_revnum:
+ return (path, max_revnum, min_revnum, scheme)
+ else:
+ return (path, min_revnum, max_revnum, scheme)
def lookup_branch_revnum(self, revnum, path, scheme):
"""Lookup a revision by revision number, branch path and branching scheme.
@@ -260,7 +264,7 @@
assert isinstance(path, str)
assert isinstance(scheme, str)
row = self.cachedb.execute(
- "select revid from revmap where max_revnum = ? and min_revnum=? and path=? and scheme=?", (revnum, revnum, path, scheme)).fetchone()
+ "select revid from revmap where max_revnum=? and min_revnum=? and path=? and scheme=?", (revnum, revnum, path, scheme)).fetchone()
if row is not None:
ret = str(row[0])
else:
@@ -287,7 +291,7 @@
assert min_revnum <= max_revnum
self.mutter("insert revid %r:%r-%r -> %r", branch, min_revnum, max_revnum, revid)
cursor = self.cachedb.execute(
- "update revmap set min_revnum = MIN(MAX(min_revnum,?), max_revnum), max_revnum = MAX(MIN(max_revnum, ?), min_revnum) WHERE revid=? AND path=? AND scheme=?",
+ "update revmap set min_revnum = MAX(min_revnum,?), max_revnum = MIN(max_revnum, ?) WHERE revid=? AND path=? AND scheme=?",
(min_revnum, max_revnum, revid, branch, scheme))
if cursor.rowcount == 0:
self.cachedb.execute(
More information about the bazaar-commits
mailing list