Rev 1705: Fix bugs, optimize revprop upgrades. in file:///data/jelmer/bzr-svn/trunk/
Jelmer Vernooij
jelmer at samba.org
Fri Aug 29 21:11:42 BST 2008
At file:///data/jelmer/bzr-svn/trunk/
------------------------------------------------------------
revno: 1705
revision-id: jelmer at samba.org-20080829201140-xbe95a2wvteujiir
parent: jelmer at samba.org-20080829200311-vz7f7enoxqc2kxvl
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: trunk
timestamp: Fri 2008-08-29 22:11:40 +0200
message:
Fix bugs, optimize revprop upgrades.
modified:
commit.py commit.py-20060607190346-qvq128wgfubhhgm2-1
mapping.py mapping.py-20080128201303-6cp01phc0dmc0kiv-1
upgrade.py upgrade.py-20070106192108-0rakplee2lzah4gs-1
=== modified file 'commit.py'
--- a/commit.py 2008-08-29 20:03:11 +0000
+++ b/commit.py 2008-08-29 20:11:40 +0000
@@ -26,7 +26,6 @@
from bzrlib.trace import mutter, warning
from cStringIO import StringIO
-from copy import copy
from bzrlib.plugins.svn import core, properties
from bzrlib.plugins.svn.core import SubversionException
@@ -188,24 +187,25 @@
self.visit_dirs = set()
self.modified_files = {}
if self.base_revid == NULL_REVISION:
- base_branch_props = {}
+ self._base_branch_props = {}
else:
- base_branch_props = lazy_dict({}, self.repository.branchprop_list.get_properties, self.base_path, self.base_revnum)
+ self._base_branch_props = lazy_dict({}, self.repository.branchprop_list.get_properties, self.base_path, self.base_revnum)
self.supports_custom_revprops = self.repository.transport.has_capability("commit-revprops")
if self.supports_custom_revprops:
self._svn_revprops = {}
else:
- self._svnprops = copy(base_branch_props)
+ self._svn_revprops = None
+ self._svnprops = dict(self._base_branch_props.items())
self.base_mapping.export_revision(
self.branch.get_branch_path(), timestamp, timezone, committer, revprops,
revision_id, self.base_revno+1, merges, self._svn_revprops, self._svnprops)
if len(merges) > 0:
- new_svk_merges = update_svk_features(base_branch_props.get(SVN_PROP_SVK_MERGE, ""), merges)
+ new_svk_merges = update_svk_features(self._base_branch_props.get(SVN_PROP_SVK_MERGE, ""), merges)
if new_svk_merges is not None:
self._svnprops[SVN_PROP_SVK_MERGE] = new_svk_merges
- new_mergeinfo = update_mergeinfo(self.repository, graph, base_branch_props.get(properties.PROP_MERGEINFO, ""), self.base_revid, merges)
+ new_mergeinfo = update_mergeinfo(self.repository, graph, self._base_branch_props.get(properties.PROP_MERGEINFO, ""), self.base_revid, merges)
if new_mergeinfo is not None:
self._svnprops[properties.PROP_MERGEINFO] = new_mergeinfo
@@ -530,6 +530,8 @@
# Set all the revprops
if self.push_metadata:
for prop, value in self._svnprops.items():
+ if value == self._base_branch_props.get(prop):
+ continue
if not properties.is_valid_property_name(prop):
warning("Setting property %r with invalid characters in name", prop)
assert isinstance(value, str)
=== modified file 'mapping.py'
--- a/mapping.py 2008-08-29 20:03:11 +0000
+++ b/mapping.py 2008-08-29 20:11:40 +0000
@@ -550,7 +550,6 @@
def export_revision(self, branch_root, timestamp, timezone, committer, revprops, revision_id, revno, merges, svn_revprops, svn_fileprops):
# Keep track of what Subversion properties to set later on
- svn_fileprops = {}
svn_fileprops[SVN_PROP_BZR_REVISION_INFO] = generate_revision_metadata(
timestamp, timezone, committer, revprops)
@@ -710,7 +709,7 @@
if SVN_REVPROP_BZR_MAPPING_VERSION in revprops:
try:
cls = mapping_registry.get(revprops[SVN_REVPROP_BZR_MAPPING_VERSION])
- ret = BzrSvnMapping.from_revprops(revprops)
+ ret = cls.from_revprops(revprops)
except KeyError:
pass
except NotImplementedError:
=== modified file 'upgrade.py'
--- a/upgrade.py 2008-08-29 20:03:11 +0000
+++ b/upgrade.py 2008-08-29 20:11:40 +0000
@@ -232,6 +232,9 @@
logcache = getattr(repository._log, "cache", None)
try:
for (paths, revnum, revprops) in repository._log.iter_changes(None, to_revnum, from_revnum, pb=pb):
+ if revnum == 0:
+ # Never a bzr-svn revision
+ continue
# Find the root path of the change
bp = changes.changes_root(paths.keys())
# FIXME: Check revprops for branch root
More information about the bazaar-commits
mailing list