Avoid old subversion warning, except when opening checkouts. Error instead.
authorAaron Bentley <aaron.bentley@utoronto.ca>
Sat, 17 Mar 2007 21:25:43 +0000 (17:25 -0400)
committerAaron Bentley <aaron.bentley@utoronto.ca>
Sat, 17 Mar 2007 21:25:43 +0000 (17:25 -0400)
__init__.py
checkout.py
errors.py

index 52cdd158ad5866064135c07a450b343afb1fe00a..101976e2966113f25bef40415e743053f4b2c56b 100644 (file)
@@ -116,11 +116,7 @@ BzrDirFormat.register_control_format(format.SvnFormat)
 import svn.core
 subr_version = svn.core.svn_subr_version()
 
-if subr_version.major == 1 and subr_version.minor < 4:
-    from bzrlib.trace import warning
-    warning('Subversion version too old for working tree support.')
-else:
-    BzrDirFormat.register_control_format(checkout.SvnWorkingTreeDirFormat)
+BzrDirFormat.register_control_format(checkout.SvnWorkingTreeDirFormat)
 
 InterRepository.register_optimiser(InterSvnRepository)
 
index 681af296b6619a3ce3eb036d32c6991ede3cc6dd..2f423fda1476f3680476d2fdd55303dd76819c50 100644 (file)
@@ -46,6 +46,8 @@ import urllib
 import svn.core, svn.wc
 from svn.core import SubversionException, Pool
 
+from bzrlib.plugins.svn.errors import NoCheckoutSupport
+
 class WorkingTreeInconsistent(BzrError):
     _fmt = """Working copy is in inconsistent state (%(min_revnum)d:%(max_revnum)d)"""
 
@@ -665,6 +667,9 @@ class SvnWorkingTreeDirFormat(BzrDirFormat):
 
         if isinstance(transport, LocalTransport) and \
             transport.has(svn.wc.get_adm_dir()):
+            subr_version = svn.core.svn_subr_version()
+            if subr_version.major == 1 and subr_version.minor < 4:
+                raise NoCheckoutSupport()
             return format
 
         raise NotBranchError(path=transport.base)
index dba0e11d637085541bcc6d83e7e0960b0ce7a492..27acdc3f5dd238e917bc287e27718b73b1ed2441 100644 (file)
--- a/errors.py
+++ b/errors.py
@@ -49,3 +49,8 @@ def convert_svn_error(unbound):
     convert.__doc__ = unbound.__doc__
     convert.__name__ = unbound.__name__
     return convert
+
+
+class NoCheckoutSupport(BzrError):
+
+    _fmt = 'Subversion version too old for working tree support.'