Rev 1706: More upgrade improvements. in file:///data/jelmer/bzr-svn/trunk/
Jelmer Vernooij
jelmer at samba.org
Fri Aug 29 21:46:10 BST 2008
At file:///data/jelmer/bzr-svn/trunk/
------------------------------------------------------------
revno: 1706
revision-id: jelmer at samba.org-20080829204608-znabytduhk7cr278
parent: jelmer at samba.org-20080829201140-xbe95a2wvteujiir
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: trunk
timestamp: Fri 2008-08-29 22:46:08 +0200
message:
More upgrade improvements.
modified:
logwalker.py logwalker.py-20060621215743-c13fhfnyzh1xzwh2-1
upgrade.py upgrade.py-20070106192108-0rakplee2lzah4gs-1
=== modified file 'logwalker.py'
--- a/logwalker.py 2008-08-26 12:13:30 +0000
+++ b/logwalker.py 2008-08-29 20:46:08 +0000
@@ -204,6 +204,10 @@
assert not path.startswith("/")
self.cachedb.execute("replace into changed_path (rev, path, action, copyfrom_path, copyfrom_rev) values (?, ?, ?, ?, ?)", (rev, path, action, copyfrom_path, copyfrom_rev))
+ def drop_revprops(self, revnum):
+ self.cachedb.execute("update revinfo set all_revprops = 0 where rev = ?", (revnum,))
+ self.cachedb.commit()
+
def get_revprops(self, revnum):
"""Retrieve all the cached revision properties.
@@ -394,8 +398,7 @@
return self.cache.get_change(path, revnum)
def revprop_list(self, revnum):
- self.mutter("revprop list: %r", revnum)
-
+ self.mutter('revprop list: %d' % revnum)
self.fetch_revisions(revnum)
if revnum > 0:
=== modified file 'upgrade.py'
--- a/upgrade.py 2008-08-29 20:11:40 +0000
+++ b/upgrade.py 2008-08-29 20:46:08 +0000
@@ -21,7 +21,7 @@
from bzrlib.trace import info
import itertools
-from bzrlib.plugins.svn import changes, logwalker, mapping
+from bzrlib.plugins.svn import changes, logwalker, mapping, properties
from bzrlib.plugins.svn.mapping import parse_revision_id
from bzrlib.plugins.svn.repository import RevisionMetadata
@@ -237,7 +237,6 @@
continue
# Find the root path of the change
bp = changes.changes_root(paths.keys())
- # FIXME: Check revprops for branch root
if bp is None:
fileprops = {}
else:
@@ -255,12 +254,13 @@
new_revprops, None)
new_mapping.export_text_parents(old_mapping.import_text_parents(revprops, fileprops),
new_revprops, None)
- # new_mapping.export_message
- for k, v in new_revprops.items():
- if v != revprops.get(k):
- repository.transport.change_rev_prop(revnum, k, v)
+ if rev.message != revprops[properties.PROP_REVISION_LOG]:
+ new_mapping.export_message(rev.message)
+ changed_revprops = dict(filter(lambda (k,v): revprops.get(k) != v, new_revprops.items()))
+ if logcache is not None:
+ logcache.drop_revprops()
+ for k, v in changed_revprops.items():
+ repository.transport.change_rev_prop(revnum, k, v)
# Might as well update the cache while we're at it
- if logcache is not None:
- logcache.insert_revprops(revnum, new_revprops)
finally:
pb.finished()
More information about the bazaar-commits
mailing list