Rev 959: Add reparent. in file:///data/jelmer/bzr-svn/pyrex/

Jelmer Vernooij jelmer at samba.org
Thu Mar 13 15:50:54 GMT 2008


At file:///data/jelmer/bzr-svn/pyrex/

------------------------------------------------------------
revno: 959
revision-id:jelmer at samba.org-20080313155052-0jdmlnlau9saikqx
parent: jelmer at samba.org-20080313152109-yqh2owipkxr8zd84
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: pyrex
timestamp: Thu 2008-03-13 16:50:52 +0100
message:
  Add reparent.
modified:
  ra.pyx                         ra.pyx-20080313140933-qybkqaxe3m4mcll7-1
  tests/test_ra.py               test_ra.py-20080313141743-uzsm7ejitrlqone5-1
  transport.py                   transport.py-20060406231150-b3472d06b3a0818d
=== modified file 'ra.pyx'
--- a/ra.pyx	2008-03-13 15:21:09 +0000
+++ b/ra.pyx	2008-03-13 15:50:52 +0000
@@ -99,6 +99,16 @@
                                       long *latest_revnum,
                                       apr_pool_t *pool)
 
+    svn_error_t *svn_ra_get_uuid(svn_ra_session_t *session,
+                             char **uuid,
+                             apr_pool_t *pool)
+
+    svn_error_t *svn_ra_get_repos_root(svn_ra_session_t *session,
+                             char **root,
+                             apr_pool_t *pool)
+
+
+
 def version():
     """Get libsvn_ra version information.
 
@@ -136,6 +146,22 @@
         _check_error(svn_ra_open2(&self.ra, url, callbacks2, None, config_hash, 
                      self.pool))
 
+    def get_uuid(self):
+        """Obtain the globally unique identifier for this repository."""
+        cdef char *uuid
+        cdef apr_pool_t *temp_pool
+        temp_pool = Pool(self.pool)
+        _check_error(svn_ra_get_uuid(self.ra, &uuid, temp_pool))
+        apr_pool_destroy(temp_pool)
+        return uuid
+
+	def reparent(self, url):
+		"""Switch to a different url."""
+        cdef apr_pool_t *temp_pool
+        temp_pool = Pool(self.pool)
+		_check_error(svn_ra_reparent(self.ra, url, temp_pool))
+        apr_pool_destroy(temp_pool)
+
     def get_latest_revnum(self):
         """Obtain the number of the latest committed revision in the 
         connected repository.
@@ -148,6 +174,16 @@
         apr_pool_destroy(temp_pool)
         return latest_revnum
 
+    def get_repos_root(self):
+        """Obtain the URL of the root of this repository."""
+        cdef char *root
+        cdef apr_pool_t *temp_pool
+        temp_pool = Pool(self.pool)
+        _check_error(svn_ra_get_repos_root(self.ra, &root, 
+                     temp_pool))
+        apr_pool_destroy(temp_pool)
+        return root
+
     def __dealloc__(self):
         if self.pool != NULL:
             apr_pool_destroy(self.pool)

=== modified file 'tests/test_ra.py'
--- a/tests/test_ra.py	2008-03-13 15:21:09 +0000
+++ b/tests/test_ra.py	2008-03-13 15:50:52 +0000
@@ -26,8 +26,17 @@
 class TestRemoteAccess(TestCaseWithSubversionRepository):
     def setUp(self):
         super(TestRemoteAccess, self).setUp()
-        repos_url = self.make_client("d", "dc")
-        self.ra = ra.RemoteAccess(repos_url)
+        self.repos_url = self.make_client("d", "dc")
+        self.ra = ra.RemoteAccess(self.repos_url)
 
     def test_latest_revnum(self):
         self.assertEquals(0, self.ra.get_latest_revnum())
+
+    def test_get_uuid(self):
+        self.assertIsInstance(self.ra.get_uuid(), str)
+
+    def test_get_repos_root(self):
+        self.assertEqual(self.repos_root, self.ra.get_repos_root())
+
+    def test_reparent(self):
+        self.ra.reparent(self.repos_url)

=== modified file 'transport.py'
--- a/transport.py	2008-03-13 14:35:53 +0000
+++ b/transport.py	2008-03-13 15:50:52 +0000
@@ -306,7 +306,7 @@
     @needs_busy
     def get_uuid(self):
         self.mutter('svn get-uuid')
-        return svn.ra.get_uuid(self._ra)
+        return self._ra.get_uuid()
 
     def get_repos_root(self):
         root = self.get_svn_repos_root()
@@ -320,14 +320,14 @@
     def get_svn_repos_root(self):
         if self._root is None:
             self.mutter("svn get-repos-root")
-            self._root = svn.ra.get_repos_root(self._ra)
+            self._root = self._ra.get_repos_root()
         return self._root
 
     @convert_svn_error
     @needs_busy
     def get_latest_revnum(self):
         self.mutter("svn get-latest-revnum")
-        return svn.ra.get_latest_revnum(self._ra)
+        return self._ra.get_latest_revnum()
 
     def _make_editor(self, editor, pool=None):
         edit, edit_baton = svn.delta.make_editor(editor, pool)




More information about the bazaar-commits mailing list