On 2020/12/26 3:38, Nathan Hartman wrote: > But the solution you suggest above, adding a new_rev attribute to the > exception and leaving the return value as it was, sounds like a good way to > avoid the incompatibility and also avoid the API bump.
I had written such a patch on typemaps at first because it was straight forward. Although I removed it after r1880967 is commited, I can write such a code again and I'll do if it is needed. Alternately, here is an easier way to do it. The patch below is a code that replace wrapper function entity on top of the svn.fs module (not tested, and more appropriate comment is needed in the code). [[[ Index: subversion/bindings/swig/python/svn/fs.py =================================================================== --- subversion/bindings/swig/python/svn/fs.py (revision 1884802) +++ subversion/bindings/swig/python/svn/fs.py (working copy) @@ -24,6 +24,14 @@ ###################################################################### from libsvn.fs import * + +# For API compatibility we should replace wrapper function entity before +# adding alternative names. +_svn_fs_commit_txn = svn_fs_commit_txn +def svn_fs_commit_txn(*args) -> "char const **, svn_revnum_t *": + r"""svn_fs_commit_txn(svn_fs_txn_t txn, apr_pool_t pool) -> svn_error_t""" + return None, _svn_fs_commit_txn(*args) + from svn.core import _unprefix_names, Pool, _as_list _unprefix_names(locals(), 'svn_fs_') _unprefix_names(locals(), 'SVN_FS_') ]]] Of course, we can use svn_fs_commit_txn2 instead of _svn_fs_commit_txn in above patch, then it will satisfy the Daniel's proposal. Cheers, -- Yasuhito FUTATSUKI <futat...@yf.bsclub.org>