diff hgsubversion/svnmeta.py @ 1005:5bba4d1becde

layouts: refactor layout loading based on config into function Refactor the logic for loading the layout based on config, and for validating that config is sane into a single function.
author David Schleimer <dschleimer@fb.com>
date Wed, 17 Apr 2013 15:00:33 -0700
parents 1bdd075a490a
children 7a3b938825cd
line wrap: on
line diff
--- a/hgsubversion/svnmeta.py
+++ b/hgsubversion/svnmeta.py
@@ -10,6 +10,7 @@ from mercurial import node
 
 import util
 import maps
+import layouts
 import editor
 
 
@@ -107,12 +108,7 @@ class SVNMeta(object):
         # resolved into something other than auto before this ever
         # gets called
         if not self._layout or self._layout == 'auto':
-            lo = self.repo.ui.config('hgsubversion', 'layout', default='auto')
-            if lo == 'auto':
-                raise hgutil.Abort('layout not yet determined')
-            elif not lo in ('single', 'standard'):
-                raise hgutil.Abort("unknown layout '%s'" % lo)
-            self._layout = lo
+            self._layout = layouts.detect.layout_from_config(self.repo.ui)
             f = open(self.layoutfile, 'w')
             f.write(self._layout)
             f.close()