Merged
Conversation
This is useful when testing on windows as subversion DLLs are not necessarily located along the subvertpy extension modules and their paths must be explicitely registered using os.add_dll_directory.
When compiling with Visual Studio, there were some integer overflow when parsing Python integers and storing them as apt_size_t leading to unexpected crashes when applying text delta. Convert those to Py_ssize_t instead of unsigned long to fix the observed crashes.
When installing subversion using vcpkg to build subvertpy on windows, some libraries are prefixed by lib so ensure to detect them. Do not try to execute apr-1-config and apu-1-config on windows as these tools are not available for that platform when using vcpkg. Add libapr and libaprutil in the deep depdencies list.
Simplify pythonpackage workflow by relying on platform package managers to install the subversion libraries and their dependencies. Remove build for dead snakes and update Python versions to the ones that are currently still supported (3.10 to 3.14). Bump actions to their latest version. Add a workflow to build subvertpy on debian unstable in order to check extension modules compilation with latest GCC version.
Python 3 does not have tp_print in PyTypeObject. The field is called tp_vectorcall_offset now, of type Py_ssize_t. Current compilers treat using NULL as an integer constant as a type error, so this change fixes a build problem with those compilers. Adapted from 4e64e3b.
Some maintenance for subvertpy v0.11.0 and add binary wheels build plus deployment
Default to python3
_ra.c: - Fix NULL dereference in pyify_lock when lock is NULL (e.g. during unlock) - Fix GIL handling in py_revstart_cb/py_revfinish_cb: acquire GIL before calling Python API functions - Fix memory leak: Py_DECREF py_revprops in replay callbacks - Fix uninitialized variable idx in ra_unlock - Convert do_update, do_switch, do_diff, replay, replay_range, change_rev_prop, mergeinfo, get_file_revs to METH_VARARGS|METH_KEYWORDS client.c: - Fix client_export format string: native_eol used 'b' instead of 'z' - Fix client_list kwnames: missing "include_externals" entry - Fix client_cat kwnames: missing "expand_keywords" entry - Fix client_update format string: missing 'b' for make_parents - Convert client_delete, client_propset, client_propget to support keywords repos.c: - Fix GIL bug in py_pack_notify: acquire GIL before calling Python API - Convert repos_create to METH_VARARGS|METH_KEYWORDS wc.c: - Fix get_update_editor: missing &diff3_cmd in PyArg_ParseTupleAndKeywords, causing all subsequent parameters to be shifted by one position - Fix crawl_revisions: missing &cancel variable for format specifier - Fix walk_status: extra 'O' format specifier with no matching variable
Fix multiple bugs in C bindings
Migrate to ruff
Add many more tests
Verify that propget works correctly with file:// URLs and absolute filesystem paths, not just relative paths. Closes #35.
Add tests for client.propget() with URLs and absolute paths
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.