Rev 1903: Allow plugins to register repository-specific layouts. in file:///data/jelmer/bzr-svn/trunk/
Jelmer Vernooij
jelmer at samba.org
Thu Sep 11 16:13:17 BST 2008
At file:///data/jelmer/bzr-svn/trunk/
------------------------------------------------------------
revno: 1903
revision-id: jelmer at samba.org-20080911151234-mcq9pt5ahea3doc7
parent: jelmer at samba.org-20080911145417-xl0psq8myzn8oje0
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: trunk
timestamp: Thu 2008-09-11 17:12:34 +0200
message:
Allow plugins to register repository-specific layouts.
modified:
layout/__init__.py layout.py-20080323165407-y9qw8nx4oykvoe1k-1
repository.py repository.py-20060306123302-1f8c5069b3fe0265
=== modified file 'layout/__init__.py'
--- a/layout/__init__.py 2008-09-09 19:16:54 +0000
+++ b/layout/__init__.py 2008-09-11 15:12:34 +0000
@@ -225,3 +225,5 @@
layout_registry.register_lazy("trunk0", "bzrlib.plugins.svn.layout.standard", "TrunkLayout0")
layout_registry.register_lazy("trunk1", "bzrlib.plugins.svn.layout.standard", "TrunkLayout1")
layout_registry.register_lazy("trunk2", "bzrlib.plugins.svn.layout.standard", "TrunkLayout2")
+
+repository_registry = registry.Registry()
=== modified file 'repository.py'
--- a/repository.py 2008-09-11 14:54:17 +0000
+++ b/repository.py 2008-09-11 15:12:34 +0000
@@ -32,7 +32,7 @@
from itertools import chain
import os
-from bzrlib.plugins.svn import cache, changes, core, errors, logwalker, properties, revmeta
+from bzrlib.plugins.svn import cache, changes, core, errors, layout, logwalker, properties, revmeta
from bzrlib.plugins.svn.branchprops import PathPropertyProvider
from bzrlib.plugins.svn.config import SvnRepositoryConfig
from bzrlib.plugins.svn.core import SubversionException
@@ -291,6 +291,11 @@
if self._layout is None:
self._layout = self.get_mapping().get_mandated_layout(self)
if self._layout is None:
+ try:
+ self._layout = layout.repository_registry.get(self.uuid)()
+ except KeyError:
+ pass
+ if self._layout is None:
self._layout = self.get_guessed_layout()
if self._layout is None:
(self._guessed_layout, self._layout) = repository_guess_layout(self,
More information about the bazaar-commits
mailing list