Skip to content

Fix multiple bugs in C bindings#184

Merged
jelmer merged 2 commits into0.11from
fixbugs
Mar 9, 2026
Merged

Fix multiple bugs in C bindings#184
jelmer merged 2 commits into0.11from
fixbugs

Conversation

@jelmer
Copy link
Copy Markdown
Owner

@jelmer jelmer commented Mar 9, 2026

No description provided.

jelmer added 2 commits March 9, 2026 22:13
_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
@jelmer jelmer merged commit e0e6234 into 0.11 Mar 9, 2026
70 of 77 checks passed
@jelmer jelmer deleted the fixbugs branch March 13, 2026 13:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant