pub unsafe extern "C" fn svn_wc_queue_committed4(
queue: *mut svn_wc_committed_queue_t,
wc_ctx: *mut svn_wc_context_t,
local_abspath: *const c_char,
recurse: svn_boolean_t,
is_committed: svn_boolean_t,
wcprop_changes: *const apr_array_header_t,
remove_lock: svn_boolean_t,
remove_changelist: svn_boolean_t,
sha1_checksum: *const svn_checksum_t,
scratch_pool: *mut apr_pool_t,
) -> *mut svn_error_t
Expand description
Queue committed items to be processed later by svn_wc_process_committed_queue2().
Record in @a queue that @a local_abspath will need to be bumped after a commit succeeds.
If non-NULL, @a wcprop_changes is an array of svn_prop_t * changes to wc properties; if an #svn_prop_t->value is NULL, then that property is deleted.
§[JAF] No, a prop whose value is NULL is ignored, not deleted. This
§seems to be not a set of changes but rather the new complete set of
§props. And it’s renamed to ‘new_dav_cache’ inside; why?
If @a is_committed is @c TRUE, the node will be processed as committed. This turns the node and its implied descendants as the new unmodified state at the new specified revision. Unless @a recurse is TRUE, changes on descendants are not committed as changes directly. In this case they should be queueud as their own changes.
If @a remove_lock is @c TRUE, any entryprops related to a repository lock will be removed.
If @a remove_changelist is @c TRUE, any association with a changelist will be removed.
If @a sha1_checksum is non-NULL, use it to identify the node’s pristine text.
If @a recurse is TRUE and @a local_abspath is a directory, then bump every versioned object at or under @a local_abspath. This is usually done for copied trees.
§In the present implementation, if a recursive directory item is in
the queue, then any children (at any depth) of that directory that
are also in the queue as separate items will get:
'wcprop_changes' = NULL;
'remove_lock' = FALSE;
'remove_changelist' from the recursive parent item;
and any children (at any depth) of that directory that are NOT in
the queue as separate items will get:
'wcprop_changes' = NULL;
'remove_lock' = FALSE;
'remove_changelist' from the recursive parent item;
@note the @a recurse parameter should be used with extreme care since it will bump ALL nodes under the directory, regardless of their actual inclusion in the new revision.
All pointer data passed to this function (@a local_abspath, @a wcprop_changes and the checksums) should remain valid until the queue has been processed by svn_wc_process_committed_queue2().
Temporary allocations will be performed in @a scratch_pool, and persistent allocations will use the same pool as @a queue used when it was created.
@since New in 1.9.