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