Merge 0.4.
authorJelmer Vernooij <jelmer@samba.org>
Tue, 17 Jun 2008 20:27:33 +0000 (22:27 +0200)
committerJelmer Vernooij <jelmer@samba.org>
Tue, 17 Jun 2008 20:27:33 +0000 (22:27 +0200)
1  2 
FAQ
tests/test_workingtree.py
transport.py
workingtree.py

diff --cc FAQ
Simple merge
Simple merge
diff --cc transport.py
index 8bd38a93bd9da1b3107de105256aeecd6ceb348c,dd916c3877b6300f5c2ea4fa9a59d1e24a767cf3..160d7d1b3884184b3a2d0a1db81f3b0451769ce0
@@@ -21,16 -21,17 +21,16 @@@ from bzrlib.errors import (NoSuchFile, 
  from bzrlib.trace import mutter
  from bzrlib.transport import Transport
  
 -from svn.core import Pool
 -import svn.core
 -import svn.client
 -
 +from bzrlib.plugins.svn import core, properties, ra
 +from bzrlib.plugins.svn import properties
 +from bzrlib.plugins.svn.auth import create_auth_baton
- from bzrlib.plugins.svn.core import SubversionException
+ from bzrlib.plugins.svn.core import SubversionException, get_config
  from bzrlib.plugins.svn.errors import convert_svn_error, NoSvnRepositoryPresent, ERR_BAD_URL, ERR_RA_SVN_REPOS_NOT_FOUND, ERR_FS_ALREADY_EXISTS, ERR_FS_NOT_FOUND, ERR_FS_NOT_DIRECTORY
- from bzrlib.plugins.svn.ra import DIRENT_KIND
+ from bzrlib.plugins.svn.ra import DIRENT_KIND, RemoteAccess
  import urlparse
  import urllib
  
- svn_config = core.get_config()
 -svn_config = get_config(None)
++svn_config = get_config()
  
  def get_client_string():
      """Return a string that can be send as part of the User Agent string."""
@@@ -76,40 -78,6 +77,25 @@@ def bzr_to_svn_url(url)
      return url
  
  
- def needs_busy(unbound):
-     """Decorator that marks a connection as busy before running a methd on it.
-     """
-     def convert(self, *args, **kwargs):
-         self._mark_busy()
-         try:
-             return unbound(self, *args, **kwargs)
-         finally:
-             self._unmark_busy()
-     convert.__doc__ = unbound.__doc__
-     convert.__name__ = unbound.__name__
-     return convert
 +def Connection(url):
 +    try:
 +        mutter('opening SVN RA connection to %r' % url)
 +        ret = ra.RemoteAccess(url.encode('utf8'), 
 +                auth=create_auth_baton(url))
 +        # FIXME: Callbacks
 +    except SubversionException, (_, num):
 +        if num in (ERR_RA_SVN_REPOS_NOT_FOUND,):
 +            raise NoSvnRepositoryPresent(url=url)
 +        if num == ERR_BAD_URL:
 +            raise InvalidURL(url)
 +        raise
 +
 +    from bzrlib.plugins.svn import lazy_check_versions
 +    lazy_check_versions()
 +
 +    return ret
 +
 +
  class ConnectionPool(object):
      """Collection of connections to a Subversion repository."""
      def __init__(self):
diff --cc workingtree.py
Simple merge