def is_url(u):
return ("://" in u)
ret = {}
- for l in val.splitlines():
- if l == "" or l[0] == "#":
+ for line in val.splitlines():
+ if line == "" or line[0] == "#":
continue
- pts = l.rsplit(None, 3)
+ pts = line.rsplit(None, 3)
if len(pts) == 4:
if pts[0] == "-r": # -r X URL DIR
revno = int(pts[1])
:param text: Property contents
"""
ret = {}
- for l in text.splitlines():
- (path, ranges) = l.rsplit(":", 1)
+ for line in text.splitlines():
+ (path, ranges) = line.rsplit(":", 1)
assert path.startswith("/")
ret[path] = []
for range in ranges.split(","):
self.send_msg([literal("switch"), args])
self._recv_ack()
return Reporter(self, update_editor)
- except:
+ except BaseException:
self.busy = False
raise
self.send_msg([literal("update"), args])
self._recv_ack()
return Reporter(self, update_editor)
- except:
+ except BaseException:
self.busy = False
raise
self.send_msg([literal("diff"), args])
self._recv_ack()
return Reporter(self, diff_editor)
- except:
+ except BaseException:
self.busy = False
raise
Py_DECREF(ret);
return NULL;
}
+#endif
static PyObject *repos_pack(RepositoryObject *self, PyObject *args)
{
+#if ONLY_SINCE_SVN(1, 6)
apr_pool_t *temp_pool;
PyObject *notify_func = Py_None;
if (!PyArg_ParseTuple(args, "|O", ¬ify_func))
apr_pool_destroy(temp_pool);
Py_RETURN_NONE;
-}
+#else
+ PyErr_SetString(PyExc_NotImplementedError, "pack_fs is only supported in Subversion >= 1.6");
+ return NULL;
#endif
+}
static PyMethodDef repos_methods[] = {
{ "load_fs", (PyCFunction)repos_load_fs, METH_VARARGS|METH_KEYWORDS, NULL },
{ "has_capability", (PyCFunction)repos_has_capability, METH_VARARGS, NULL },
{ "verify_fs", (PyCFunction)repos_verify, METH_VARARGS,
"S.verify_repos(feedback_stream, start_revnum, end_revnum)" },
-#if ONLY_SINCE_SVN(1, 6)
{ "pack_fs", (PyCFunction)repos_pack, METH_VARARGS, NULL },
-#endif
{ NULL, }
};
class TestMarshalling(TestCase):
def test_literal_txt(self):
- l = literal("foo")
- self.assertEqual("foo", l.txt)
+ line = literal("foo")
+ self.assertEqual("foo", line.txt)
def test_literal_str(self):
- l = literal("foo bar")
- self.assertEqual("foo bar", l.__str__())
+ line = literal("foo bar")
+ self.assertEqual("foo bar", line.__str__())
def test_literal_rep(self):
- l = literal("foo bar")
- self.assertEqual("foo bar", l.__repr__())
+ line = literal("foo bar")
+ self.assertEqual("foo bar", line.__repr__())
def test_marshall_error(self):
- e = MarshallError("bla bla")
- self.assertEqual("bla bla", e.__str__())
+ err = MarshallError("bla bla")
+ self.assertEqual("bla bla", err.__str__())
def test_marshall_int(self):
self.assertEqual(b"1 ", marshall(1))
def test_pack_fs(self):
r = repos.create(os.path.join(self.test_dir, "foo"))
- r.pack_fs()
+ if repos.api_version() < (1, 6):
+ self.assertRaises(NotImplementedError, r.pack_fs)
+ else:
+ r.pack_fs()
def test_paths_changed(self):
repos.create(os.path.join(self.test_dir, "foo"))
def test_canonicalize(self):
self.assertEqual(
- 'https://www.example.com',
+ 'https://www.example.com/',
uri_canonicalize('https://www.example.com/'))
self.assertEqual(
'https://www.example.com(bla)',
adm = wc.Adm(None, "checkout", True)
path = os.path.join(self.test_dir, "checkout/bar")
stream = adm.translated_stream(path, path, wc.TRANSLATE_TO_NF)
- self.assertTrue(stream.read().startswith(b"My id: $Id: "))
+ if wc.api_version() < (1, 6):
+ self.assertRaises(NotImplementedError, stream.read)
+ else:
+ self.assertTrue(stream.read().startswith(b"My id: $Id: "))
def test_text_modified(self):
self.make_client("repos", "checkout")
class ContextTests(SubversionTestCase):
+ def setUp(self):
+ super(ContextTests, self).setUp()
+ if wc.api_version() < (1, 7):
+ self.skipTest("context API not available on Subversion < 1.7")
+
def test_create(self):
context = wc.Context()
self.assertIsInstance(context, wc.Context)
svn_uri_canonicalize(const char *uri,
apr_pool_t *result_pool)
{
- return svn_path_canonicalize(uri, result_pool);
+ return svn_path_uri_from_iri(uri, result_pool);
}
const char *
{
EntryObject *ret;
+ if (entry == NULL) {
+ Py_RETURN_NONE;
+ }
+
ret = PyObject_New(EntryObject, &Entry_Type);
if (ret == NULL)
return NULL;