Subversion
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Functions
Versioned and Unversioned Properties

Prop-changing and prop-reading wrappers for libsvn_fs routines. More...

Functions

svn_error_tsvn_repos_fs_change_rev_prop4 (svn_repos_t *repos, svn_revnum_t rev, const char *author, const char *name, const svn_string_t *const *old_value_p, const svn_string_t *new_value, svn_boolean_t use_pre_revprop_change_hook, svn_boolean_t use_post_revprop_change_hook, svn_repos_authz_func_t authz_read_func, void *authz_read_baton, apr_pool_t *pool)
 Like svn_fs_change_rev_prop2(), but validate the name and value of the property and invoke the repos's pre- and post-revprop-change hooks around the change as specified by use_pre_revprop_change_hook and use_post_revprop_change_hook (respectively).
 
svn_error_tsvn_repos_fs_change_rev_prop3 (svn_repos_t *repos, svn_revnum_t rev, const char *author, const char *name, const svn_string_t *new_value, svn_boolean_t use_pre_revprop_change_hook, svn_boolean_t use_post_revprop_change_hook, svn_repos_authz_func_t authz_read_func, void *authz_read_baton, apr_pool_t *pool)
 Similar to svn_repos_fs_change_rev_prop4(), but with old_value_p always set to NULL.
 
svn_error_tsvn_repos_fs_change_rev_prop2 (svn_repos_t *repos, svn_revnum_t rev, const char *author, const char *name, const svn_string_t *new_value, svn_repos_authz_func_t authz_read_func, void *authz_read_baton, apr_pool_t *pool)
 Similar to svn_repos_fs_change_rev_prop3(), but with the use_pre_revprop_change_hook and use_post_revprop_change_hook always set to TRUE.
 
svn_error_tsvn_repos_fs_change_rev_prop (svn_repos_t *repos, svn_revnum_t rev, const char *author, const char *name, const svn_string_t *new_value, apr_pool_t *pool)
 Similar to svn_repos_fs_change_rev_prop2(), but with the authz_read_func parameter always NULL.
 
svn_error_tsvn_repos_fs_revision_prop (svn_string_t **value_p, svn_repos_t *repos, svn_revnum_t rev, const char *propname, svn_repos_authz_func_t authz_read_func, void *authz_read_baton, apr_pool_t *pool)
 Set *value_p to the value of the property named propname on revision rev in the filesystem opened in repos.
 
svn_error_tsvn_repos_fs_revision_proplist (apr_hash_t **table_p, svn_repos_t *repos, svn_revnum_t rev, svn_repos_authz_func_t authz_read_func, void *authz_read_baton, apr_pool_t *pool)
 Set *table_p to the entire property list of revision rev in filesystem opened in repos, as a hash table allocated in pool.
 
svn_error_tsvn_repos_fs_change_node_prop (svn_fs_root_t *root, const char *path, const char *name, const svn_string_t *value, apr_pool_t *pool)
 Validating wrapper for svn_fs_change_node_prop() (which see for argument descriptions).
 
svn_error_tsvn_repos_fs_get_inherited_props (apr_array_header_t **inherited_props, svn_fs_root_t *root, const char *path, const char *propname, svn_repos_authz_func_t authz_read_func, void *authz_read_baton, apr_pool_t *result_pool, apr_pool_t *scratch_pool)
 Set *inherited_values to a depth-first ordered array of svn_prop_inherited_item_t * structures (the path_or_url members of which are relative filesystem paths) representing the properties inherited by path in root.
 
svn_error_tsvn_repos_fs_change_txn_prop (svn_fs_txn_t *txn, const char *name, const svn_string_t *value, apr_pool_t *pool)
 Validating wrapper for svn_fs_change_txn_prop() (which see for argument descriptions).
 
svn_error_tsvn_repos_fs_change_txn_props (svn_fs_txn_t *txn, const apr_array_header_t *props, apr_pool_t *pool)
 Validating wrapper for svn_fs_change_txn_props() (which see for argument descriptions).
 

Detailed Description

Prop-changing and prop-reading wrappers for libsvn_fs routines.

Function Documentation

svn_error_t* svn_repos_fs_change_node_prop ( svn_fs_root_t root,
const char *  path,
const char *  name,
const svn_string_t value,
apr_pool_t *  pool 
)

Validating wrapper for svn_fs_change_node_prop() (which see for argument descriptions).

If name's kind is not svn_prop_regular_kind, return SVN_ERR_REPOS_BAD_ARGS. If name is an "svn:" property, validate its value and return SVN_ERR_BAD_PROPERTY_VALUE if it is invalid for the property.

Note
Originally, the only properties validated were the "svn:" properties SVN_PROP_REVISION_LOG and SVN_PROP_REVISION_DATE. For the current validation rules see the private function svn_repos__validate_prop().
svn_error_t* svn_repos_fs_change_rev_prop ( svn_repos_t repos,
svn_revnum_t  rev,
const char *  author,
const char *  name,
const svn_string_t new_value,
apr_pool_t *  pool 
)

Similar to svn_repos_fs_change_rev_prop2(), but with the authz_read_func parameter always NULL.

Deprecated:
Provided for backward compatibility with the 1.0 API.
svn_error_t* svn_repos_fs_change_rev_prop2 ( svn_repos_t repos,
svn_revnum_t  rev,
const char *  author,
const char *  name,
const svn_string_t new_value,
svn_repos_authz_func_t  authz_read_func,
void *  authz_read_baton,
apr_pool_t *  pool 
)

Similar to svn_repos_fs_change_rev_prop3(), but with the use_pre_revprop_change_hook and use_post_revprop_change_hook always set to TRUE.

Deprecated:
Provided for backward compatibility with the 1.4 API.
svn_error_t* svn_repos_fs_change_rev_prop3 ( svn_repos_t repos,
svn_revnum_t  rev,
const char *  author,
const char *  name,
const svn_string_t new_value,
svn_boolean_t  use_pre_revprop_change_hook,
svn_boolean_t  use_post_revprop_change_hook,
svn_repos_authz_func_t  authz_read_func,
void *  authz_read_baton,
apr_pool_t *  pool 
)

Similar to svn_repos_fs_change_rev_prop4(), but with old_value_p always set to NULL.

(In other words, it is similar to svn_fs_change_rev_prop().)

Deprecated:
Provided for backward compatibility with the 1.6 API.
Since
New in 1.5.
svn_error_t* svn_repos_fs_change_rev_prop4 ( svn_repos_t repos,
svn_revnum_t  rev,
const char *  author,
const char *  name,
const svn_string_t *const *  old_value_p,
const svn_string_t new_value,
svn_boolean_t  use_pre_revprop_change_hook,
svn_boolean_t  use_post_revprop_change_hook,
svn_repos_authz_func_t  authz_read_func,
void *  authz_read_baton,
apr_pool_t *  pool 
)

Like svn_fs_change_rev_prop2(), but validate the name and value of the property and invoke the repos's pre- and post-revprop-change hooks around the change as specified by use_pre_revprop_change_hook and use_post_revprop_change_hook (respectively).

rev is the revision whose property to change, name is the name of the property, and new_value is the new value of the property. If old_value_p is not NULL, then *old_value_p is the expected current (preexisting) value of the property (or NULL for "unset"). author is the authenticated username of the person changing the property value, or NULL if not available.

If authz_read_func is non-NULL, then use it (with authz_read_baton) to validate the changed-paths associated with rev. If the revision contains any unreadable changed paths, then return SVN_ERR_AUTHZ_UNREADABLE.

Validate name and new_value like the same way svn_repos_fs_change_node_prop() does.

Use pool for temporary allocations.

Since
New in 1.7.
svn_error_t* svn_repos_fs_change_txn_prop ( svn_fs_txn_t txn,
const char *  name,
const svn_string_t value,
apr_pool_t *  pool 
)

Validating wrapper for svn_fs_change_txn_prop() (which see for argument descriptions).

See svn_repos_fs_change_txn_props() for more information.

svn_error_t* svn_repos_fs_change_txn_props ( svn_fs_txn_t txn,
const apr_array_header_t *  props,
apr_pool_t *  pool 
)

Validating wrapper for svn_fs_change_txn_props() (which see for argument descriptions).

Validate properties and their values the same way svn_repos_fs_change_node_prop() does.

Since
New in 1.5.
svn_error_t* svn_repos_fs_get_inherited_props ( apr_array_header_t **  inherited_props,
svn_fs_root_t root,
const char *  path,
const char *  propname,
svn_repos_authz_func_t  authz_read_func,
void *  authz_read_baton,
apr_pool_t *  result_pool,
apr_pool_t *  scratch_pool 
)

Set *inherited_values to a depth-first ordered array of svn_prop_inherited_item_t * structures (the path_or_url members of which are relative filesystem paths) representing the properties inherited by path in root.

If no properties are inherited, then set *inherited_values to an empty array.

if propname is NULL then retrieve all explicit and/or inherited properties. Otherwise retrieve only the properties named propname.

If optional authz_read_func is non-NULL, then use this function (along with optional authz_read_baton) to check the readability of each parent path from which properties are inherited. Silently omit properties for unreadable parent paths.

Allocate *inherited_props in result_pool. Use scratch_pool for temporary allocations.

Since
New in 1.8.
svn_error_t* svn_repos_fs_revision_prop ( svn_string_t **  value_p,
svn_repos_t repos,
svn_revnum_t  rev,
const char *  propname,
svn_repos_authz_func_t  authz_read_func,
void *  authz_read_baton,
apr_pool_t *  pool 
)

Set *value_p to the value of the property named propname on revision rev in the filesystem opened in repos.

If rev has no property by that name, set *value_p to zero. Allocate the result in pool.

If authz_read_func is non-NULL, then use it (with authz_read_baton) to validate the changed-paths associated with rev. If the changed-paths are all unreadable, then set *value_p to zero unconditionally. If only some of the changed-paths are unreadable, then allow 'svn:author' and 'svn:date' propvalues to be fetched, but return 0 for any other property.

Since
New in 1.1.
svn_error_t* svn_repos_fs_revision_proplist ( apr_hash_t **  table_p,
svn_repos_t repos,
svn_revnum_t  rev,
svn_repos_authz_func_t  authz_read_func,
void *  authz_read_baton,
apr_pool_t *  pool 
)

Set *table_p to the entire property list of revision rev in filesystem opened in repos, as a hash table allocated in pool.

The table maps char * property names to svn_string_t * values; the names and values are allocated in pool.

If authz_read_func is non-NULL, then use it (with authz_read_baton) to validate the changed-paths associated with rev. If the changed-paths are all unreadable, then return an empty hash. If only some of the changed-paths are unreadable, then return an empty hash, except for 'svn:author' and 'svn:date' properties (assuming those properties exist).

Since
New in 1.1.