Hi Philip. Amidst the rest of the discussion perhaps you missed this:
Julian Foad wrote:
> Index: subversion/include/svn_fs.h
> ===================================================================
> * For each path in @a targets @a lock_callback will be invoked
> * passing @a lock_baton and the lock and error that apply to path.
> * @a lock_callback can be NULL in which case it is not called.
> + * ### Implementation here requires lock_callback is non-null.
That's on svn_fs_lock_many(). The implementation contains:
for (hi = ...)
...
if (err)
{
if (!cb_err)
cb_err = lock_callback(lock_baton, svn__apr_hash_index_key(hi),
NULL, err, scratch_pool);
svn_error_clear(err);
}
where lock_callback is called even if it is null, as far as I can tell.
- Julian