Rev 1726: Allow setting default mapping for a repository in config. in file:///data/jelmer/bzr-svn/trunk/
Jelmer Vernooij
jelmer at samba.org
Sun Aug 31 02:15:59 BST 2008
At file:///data/jelmer/bzr-svn/trunk/
------------------------------------------------------------
revno: 1726
revision-id: jelmer at samba.org-20080831011557-23y6c529ktau872y
parent: jelmer at samba.org-20080830234511-6pkd922cykoguu7f
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: trunk
timestamp: Sun 2008-08-31 03:15:57 +0200
message:
Allow setting default mapping for a repository in config.
modified:
config.py config.py-20070624185721-0j8f1ly75uo4s1lk-1
mapping.py mapping.py-20080128201303-6cp01phc0dmc0kiv-1
repository.py repository.py-20060306123302-1f8c5069b3fe0265
=== modified file 'config.py'
--- a/config.py 2008-08-25 01:58:11 +0000
+++ b/config.py 2008-08-31 01:15:57 +0000
@@ -83,6 +83,13 @@
return BranchingScheme.find_scheme(schemename.encode('ascii'))
return None
+ def get_default_mapping(self):
+ """Get the default mapping.
+
+ :return Mapping name.
+ """
+ return self._get_user_option("default-mapping", use_global=True)
+
def get_guessed_branching_scheme(self):
"""Get the guessed branching scheme.
=== modified file 'mapping.py'
--- a/mapping.py 2008-08-30 21:11:14 +0000
+++ b/mapping.py 2008-08-31 01:15:57 +0000
@@ -320,7 +320,7 @@
:param revid: The revision id.
:raises: InvalidRevisionId
- :return: Tuple with uuid, branch path, revision number and scheme.
+ :return: Tuple with uuid, branch path, revision number and mapping.
"""
raise NotImplementedError(self.revision_id_bzr_to_foreign)
@@ -708,7 +708,7 @@
mapping_registry.register_lazy('v4', 'bzrlib.plugins.svn.mapping4',
'BzrSvnMappingv4',
'Fourth format (bzr-svn 0.5.x)')
-mapping_registry.set_default('v3')
+mapping_registry.set_default('v4')
def parse_mapping_name(name):
assert isinstance(name, str)
=== modified file 'repository.py'
--- a/repository.py 2008-08-30 21:11:14 +0000
+++ b/repository.py 2008-08-31 01:15:57 +0000
@@ -44,6 +44,7 @@
parse_tags_property,
BzrSvnMapping,
get_default_mapping,
+ mapping_registry,
is_bzr_revision_revprops, is_bzr_revision_fileprops,
parse_svn_dateprop)
from bzrlib.plugins.svn.parents import DiskCachingParentsProvider
@@ -366,9 +367,16 @@
result['revisions'] = self.get_latest_revnum()+1
return result
+ def get_mapping_class(self):
+ config_mapping_name = self.get_config().get_default_mapping()
+ if config_mapping_name is not None:
+ return mapping_registry.get(config_mapping_name)
+ return get_default_mapping()
+
def get_mapping(self):
if self._default_mapping is None:
- self._default_mapping = get_default_mapping().from_repository(self, self._hinted_branch_path)
+ mappingcls = self.get_mapping_class()
+ self._default_mapping = mappingcls.from_repository(self, self._hinted_branch_path)
return self._default_mapping
def _make_parents_provider(self):
More information about the bazaar-commits
mailing list