Rev 1379: Use log implementation from ra rather than from client. in http://people.samba.org/bzr/jelmer/bzr-svn/0.4

Jelmer Vernooij jelmer at samba.org
Sun Jun 29 13:45:16 BST 2008


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

------------------------------------------------------------
revno: 1379
revision-id: jelmer at samba.org-20080629124515-uup1u2ct8ltziy4m
parent: jelmer at samba.org-20080629115928-lys5hr593r1430fx
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: 0.4
timestamp: Sun 2008-06-29 14:45:15 +0200
message:
  Use log implementation from ra rather than from client.
modified:
  cache.py                       cache.py-20070520185908-qbtlcet08bllgs0f-1
  client.c                       client.pyx-20080313235339-wbyjbw2namuiql8f-1
  tests/__init__.py              __init__.py-20060508151940-e9f4d914801a2535
  tests/test_commit.py           test_commit.py-20060624213521-l5kcufywkh9mnilk-1
  tests/test_push.py             test_push.py-20070201165715-g2ievcdfqi33wqsy-1
  tests/test_repository.py       test_repos.py-20060508151940-ddc49a59257ca712
=== modified file 'cache.py'
--- a/cache.py	2008-06-29 11:59:28 +0000
+++ b/cache.py	2008-06-29 12:45:15 +0000
@@ -90,6 +90,3 @@
     def mutter(self, text, *args):
         if "cache" in debug.debug_flags:
             mutter(text, *args)
-
-    def __del__(self):
-        self.cachedb.close()

=== modified file 'client.c'
--- a/client.c	2008-06-24 14:24:09 +0000
+++ b/client.c	2008-06-29 12:45:15 +0000
@@ -594,44 +594,6 @@
     return PyLong_FromLong(set_rev);
 }
 
-static PyObject *client_log(PyObject *self, PyObject *args, PyObject *kwargs)
-{
-    char *kwnames[] = { "targets", "callback", "peg_revision", "start", "end", "limit", "discover_changed_paths", "strict_node_history", NULL };
-    PyObject *targets, *callback, *peg_revision=Py_None, *start=Py_None, 
-             *end=Py_None;
-    ClientObject *client = (ClientObject *)self;
-	apr_pool_t *temp_pool;
-    int limit=0; 
-    bool discover_changed_paths=true, strict_node_history=true;
-    svn_opt_revision_t c_peg_rev, c_start_rev, c_end_rev;
-	apr_array_header_t *apr_paths;
-
-    if (!PyArg_ParseTupleAndKeywords(args, kwargs, "OO|OOOlbb", 
-                                     kwnames, &targets, &callback, 
-                                     &peg_revision, &start, &end, 
-                                     &limit, &discover_changed_paths, 
-                                     &strict_node_history))
-        return NULL;
-
-    if (!to_opt_revision(peg_revision, &c_peg_rev))
-        return NULL;
-    if (!to_opt_revision(start, &c_start_rev))
-        return NULL;
-    if (!to_opt_revision(end, &c_end_rev))
-        return NULL;
-	temp_pool = Pool(NULL);
-	if (temp_pool == NULL)
-		return NULL;
-	if (!string_list_to_apr_array(temp_pool, targets, &apr_paths)) {
-		apr_pool_destroy(temp_pool);
-		return NULL;
-	}
-	RUN_SVN_WITH_POOL(temp_pool, svn_client_log3(apr_paths,
-                &c_peg_rev, &c_start_rev, &c_end_rev, limit, discover_changed_paths, strict_node_history, py_svn_log_wrapper, callback, client->client, temp_pool));
-	apr_pool_destroy(temp_pool);
-    Py_RETURN_NONE;
-}
-
 static PyMethodDef client_methods[] = {
     { "add", (PyCFunction)client_add, METH_VARARGS|METH_KEYWORDS, NULL },
     { "checkout", (PyCFunction)client_checkout, METH_VARARGS|METH_KEYWORDS, NULL },
@@ -644,7 +606,6 @@
     { "update", client_update, METH_VARARGS, NULL },
     { "revprop_get", client_revprop_get, METH_VARARGS, NULL },
     { "revprop_set", client_revprop_set, METH_VARARGS, NULL },
-    { "log", (PyCFunction)client_log, METH_KEYWORDS|METH_VARARGS, NULL },
     { NULL, }
 };
 

=== modified file 'tests/__init__.py'
--- a/tests/__init__.py	2008-06-27 16:28:04 +0000
+++ b/tests/__init__.py	2008-06-29 12:45:15 +0000
@@ -235,14 +235,13 @@
             rev = revnum
         return rev
 
-    def client_log(self, path, start_revnum=None, stop_revnum=None):
-        assert isinstance(path, str)
+    def client_log(self, url, start_revnum, stop_revnum):
+        r = ra.RemoteAccess(url)
+        assert isinstance(url, str)
         ret = {}
         def rcvr(orig_paths, rev, revprops, has_children):
             ret[rev] = (orig_paths, revprops.get(properties.PROP_REVISION_AUTHOR), revprops.get(properties.PROP_REVISION_DATE), revprops.get(properties.PROP_REVISION_LOG))
-        self.client_ctx.log([path], rcvr, None, self.revnum_to_opt_rev(start_revnum),
-                       self.revnum_to_opt_rev(stop_revnum), 0,
-                       True, True)
+        r.get_log(rcvr, [""], start_revnum, stop_revnum, 0, True, True)
         return ret
 
     def client_delete(self, relpath):

=== modified file 'tests/test_commit.py'
--- a/tests/test_commit.py	2008-06-23 02:40:47 +0000
+++ b/tests/test_commit.py	2008-06-29 12:45:15 +0000
@@ -153,7 +153,7 @@
         wt.commit(message="data")
         wt.rename_one("foo", "bar")
         wt.commit(message="doe")
-        paths = self.client_log("dc", 2, 0)[2][0]
+        paths = self.client_log(repos_url, 2, 0)[2][0]
         self.assertEquals('D', paths["/foo"][0])
         self.assertEquals('A', paths["/bar"][0])
         self.assertEquals('/foo', paths["/bar"][1])
@@ -171,7 +171,7 @@
         self.assertFalse(wt.has_filename("adir/foo"))
         self.assertTrue(wt.has_filename("bar"))
         wt.commit(message="doe")
-        paths = self.client_log("dc", 2, 0)[2][0]
+        paths = self.client_log(repos_url, 2, 0)[2][0]
         self.assertEquals('D', paths["/adir/foo"][0])
         self.assertEquals('A', paths["/bar"][0])
         self.assertEquals('/adir/foo', paths["/bar"][1])
@@ -588,7 +588,7 @@
                                         "svn:date": time_to_cstring(1000000*473385600)})
 
         self.assertEquals(("Somebody", "1985-01-01T00:00:00.000000Z", "My commit"), 
-                          self.client_log(repos_url)[1][1:])
+                          self.client_log(repos_url, 1, 1)[1][1:])
 
     def test_change_revprops_disallowed(self):
         repos_url = self.make_repository("d", allow_revprop_changes=False)

=== modified file 'tests/test_push.py'
--- a/tests/test_push.py	2008-06-29 02:34:13 +0000
+++ b/tests/test_push.py	2008-06-29 12:45:15 +0000
@@ -202,7 +202,7 @@
         self.svndir.open_branch().pull(self.bzrdir.open_branch())
 
         self.assertEquals(("Sombody famous", "2002-02-01T23:00:00.000000Z", "Commit from Bzr"), 
-            self.client_log(self.repos_url)[2][1:])
+            self.client_log(self.repos_url, 0, 2)[2][1:])
 
     def test_empty_file(self):
         self.build_tree({'dc/file': ''})
@@ -400,7 +400,7 @@
         push(Branch.open("%s/trunk" % self.repos_url), wt.branch, wt.branch.last_revision())
         mutter('log %r' % self.client_log("%s/trunk" % self.repos_url)[5][0])
         self.assertEquals("/branches/mybranch", 
-            self.client_log("%s/trunk" % self.repos_url)[5][0]['/trunk'][1])
+            self.client_log("%s/trunk" % self.repos_url, 0, 5)[5][0]['/trunk'][1])
 
 class PushNewBranchTests(TestCaseWithSubversionRepository):
     def test_single_revision(self):

=== modified file 'tests/test_repository.py'
--- a/tests/test_repository.py	2008-06-29 02:46:13 +0000
+++ b/tests/test_repository.py	2008-06-29 12:45:15 +0000
@@ -954,7 +954,7 @@
         self.assertEquals("bla/*\n", 
                    self.client_get_prop("dc", SVN_PROP_BZR_BRANCHING_SCHEME))
         self.assertEquals("Updating branching scheme for Bazaar.", 
-                self.client_log("dc", 1, 1)[1][3])
+                self.client_log(repos_url, 1, 1)[1][3])
 
     def test_lookup_revision_id_invalid_uuid(self):
         repos_url = self.make_client('d', 'dc')




More information about the bazaar-commits mailing list