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