return NULL;
}
- switch_url = py_object_to_svn_uri(py_switch_url, temp_pool);
- if (switch_url == NULL) {
- apr_pool_destroy(temp_pool);
- ra->busy = false;
- return NULL;
- }
+ switch_url = py_object_to_svn_uri(py_switch_url, temp_pool);
+ if (switch_url == NULL) {
+ apr_pool_destroy(temp_pool);
+ ra->busy = false;
+ return NULL;
+ }
result_pool = Pool(NULL);
if (result_pool == NULL) {
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)',
self.assertEqual("bar", bar.name)
self.assertEqual(NODE_FILE, bar.kind)
self.assertEqual(wc.SCHEDULE_NORMAL, bar.schedule)
- self.assertIs(None, bar.checksum)
+ self.assertEqual('52419dba51d65210e87bf52dc1072145', bar.checksum)
self.assertEqual(1, bar.cmt_rev)
self.assertEqual(1, bar.revision)
svn_uri_canonicalize(const char *uri,
apr_pool_t *result_pool)
{
- return svn_path_uri_from_iri(uri, result_pool);
+ return svn_path_canonicalize(uri, result_pool);
}
const char *
const char *py_object_to_svn_uri(PyObject *obj, apr_pool_t *pool)
{
- const char *ret;
- PyObject *bytes_obj = NULL;
+ const char *ret;
+ PyObject *bytes_obj = NULL;
- if (PyUnicode_Check(obj)) {
- bytes_obj = obj = PyUnicode_AsUTF8String(obj);
- if (obj == NULL) {
- return NULL;
- }
- }
+ if (PyUnicode_Check(obj)) {
+ bytes_obj = obj = PyUnicode_AsUTF8String(obj);
+ if (obj == NULL) {
+ return NULL;
+ }
+ }
- if (PyBytes_Check(obj)) {
- ret = svn_uri_canonicalize(PyBytes_AsString(obj), pool);
- Py_XDECREF(bytes_obj);
- return ret;
- } else {
- PyErr_SetString(PyExc_TypeError,
- "URIs need to be UTF-8 bytestrings or unicode strings");
- Py_XDECREF(bytes_obj);
- return NULL;
- }
+ if (PyBytes_Check(obj)) {
+ ret = svn_uri_canonicalize(PyBytes_AsString(obj), pool);
+ Py_XDECREF(bytes_obj);
+ return ret;
+ } else {
+ PyErr_SetString(PyExc_TypeError,
+ "URIs need to be UTF-8 bytestrings or unicode strings");
+ Py_XDECREF(bytes_obj);
+ return NULL;
+ }
}
const char *py_object_to_svn_relpath(PyObject *obj, apr_pool_t *pool)
py_key = Py_None;
Py_INCREF(py_key);
} else {
- py_key = PyUnicode_FromString(key);
+ py_key = PyBytes_FromStringAndSize(key, klen);
}
if (PyDict_SetItem(py_props, py_key, py_val) != 0) {
Py_DECREF(py_key);