Rev 2278: Print proper error message when importing from non-svn repository in svn-import. in http://people.samba.org/bzr/jelmer/bzr-svn/0.5

Jelmer Vernooij jelmer at samba.org
Sun Jan 4 20:33:08 GMT 2009


At http://people.samba.org/bzr/jelmer/bzr-svn/0.5

------------------------------------------------------------
revno: 2278
revision-id: jelmer at samba.org-20090104203305-1bc0bhsx7v3gzxi4
parent: jelmer at samba.org-20081227230004-drby3j9kqr3gwqdi
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: 0.5
timestamp: Sun 2009-01-04 21:33:05 +0100
message:
  Print proper error message when importing from non-svn repository in svn-import.
modified:
  NEWS                           news-20061231030336-h9fhq245ie0de8bs-1
  __init__.py                    __init__.py-20051008155114-eae558e6cf149e1d
  tests/test_blackbox.py         test_blackbox.py-20070325150839-d10llf8arptpcfl6-1
=== modified file 'NEWS'
--- a/NEWS	2008-12-27 23:00:04 +0000
+++ b/NEWS	2009-01-04 20:33:05 +0000
@@ -30,6 +30,9 @@
 
    * Cope with unicode filenames in manual file id detection. (#311744)
 
+   * Print proper error message when importing from non-svn repository in 
+     svn-import. (#313817)
+
 bzr-svn 0.5.0~rc1			2008-12-08
 
   CHANGES

=== modified file '__init__.py'
--- a/__init__.py	2008-12-16 00:18:23 +0000
+++ b/__init__.py	2009-01-04 20:33:05 +0000
@@ -205,7 +205,9 @@
         from bzrlib.errors import BzrCommandError, NoRepositoryPresent
         from bzrlib import osutils, urlutils
         from bzrlib.plugins.svn.convert import convert_repository
+        from bzrlib.plugins.svn.remote import SvnRemoteAccess
         from bzrlib.plugins.svn.repository import SvnRepository
+        from bzrlib.plugins.svn.workingtree import SvnCheckout
         from bzrlib.trace import info
 
         if to_location is None:
@@ -226,6 +228,11 @@
             tmp_repos = None
 
         from_dir = BzrDir.open(from_location)
+
+        if not (isinstance(from_dir, SvnRemoteAccess) or 
+                isinstance(from_dir, SvnCheckout)):
+            raise BzrCommandError("Source repository is not a Subversion repository.")
+
         try:
             from_repos = from_dir.open_repository()
         except NoRepositoryPresent, e:
@@ -237,9 +244,6 @@
             prefix = from_location[len(from_repos.base):].strip("/")
             prefix = prefix.encode("utf-8")
 
-        if not isinstance(from_repos, SvnRepository):
-            raise BzrCommandError("Source repository is not a Subversion repository.")
-
         if until is None:
             to_revnum = from_repos.get_latest_revnum()
         else:

=== modified file 'tests/test_blackbox.py'
--- a/tests/test_blackbox.py	2008-12-27 22:18:41 +0000
+++ b/tests/test_blackbox.py	2009-01-04 20:33:05 +0000
@@ -326,6 +326,14 @@
                 mapping.revision_id_foreign_to_bzr((uuid, "", 5)))
         self.assertNotEqual(inv1.path2id("y"), inv2.path2id("y"))
 
+    def test_svn_import_bzr_branch(self):
+        self.run_bzr('init foo')
+        self.run_bzr_error('bzr: ERROR: Source repository is not a Subversion repository.\n', 'svn-import foo dc')
+
+    def test_svn_import_bzr_repo(self):
+        self.run_bzr('init-repo foo')
+        self.run_bzr('init foo/bar')
+        self.run_bzr_error('bzr: ERROR: Source repository is not a Subversion repository.\n', 'svn-import foo/bar dc')
 
     def test_list(self):
         repos_url = self.make_repository("a")




More information about the bazaar-commits mailing list