32 #include <apr_pools.h> 33 #include <apr_tables.h> 151 const char *prop_name);
189 const char *prop_name);
294 apr_array_header_t **entry_props,
295 apr_array_header_t **wc_props,
296 apr_array_header_t **regular_props,
323 const apr_hash_t *target_props,
324 const apr_hash_t *source_props,
344 #define SVN_PROP_PREFIX "svn:" 370 #define SVN_PROP_BOOLEAN_TRUE "*" 373 #define SVN_PROP_MIME_TYPE SVN_PROP_PREFIX "mime-type" 376 #define SVN_PROP_IGNORE SVN_PROP_PREFIX "ignore" 379 #define SVN_PROP_EOL_STYLE SVN_PROP_PREFIX "eol-style" 382 #define SVN_PROP_KEYWORDS SVN_PROP_PREFIX "keywords" 385 #define SVN_PROP_EXECUTABLE SVN_PROP_PREFIX "executable" 392 #define SVN_PROP_EXECUTABLE_VALUE SVN_PROP_BOOLEAN_TRUE 396 #define SVN_PROP_NEEDS_LOCK SVN_PROP_PREFIX "needs-lock" 403 #define SVN_PROP_NEEDS_LOCK_VALUE SVN_PROP_BOOLEAN_TRUE 406 #define SVN_PROP_SPECIAL SVN_PROP_PREFIX "special" 413 #define SVN_PROP_SPECIAL_VALUE SVN_PROP_BOOLEAN_TRUE 440 #define SVN_PROP_EXTERNALS SVN_PROP_PREFIX "externals" 452 #define SVN_PROP_MERGEINFO SVN_PROP_PREFIX "mergeinfo" 458 #define SVN_PROP_INHERITABLE_AUTO_PROPS SVN_PROP_PREFIX "auto-props" 464 #define SVN_PROP_INHERITABLE_IGNORES SVN_PROP_PREFIX "global-ignores" 491 #define SVN_PROP_TEXT_TIME SVN_PROP_PREFIX "text-time" 502 #define SVN_PROP_OWNER SVN_PROP_PREFIX "owner" 511 #define SVN_PROP_GROUP SVN_PROP_PREFIX "group" 521 #define SVN_PROP_UNIX_MODE SVN_PROP_PREFIX "unix-mode" 531 #define SVN_PROP_NODE_ALL_PROPS SVN_PROP_MIME_TYPE, \ 533 SVN_PROP_EOL_STYLE, \ 535 SVN_PROP_EXECUTABLE, \ 536 SVN_PROP_NEEDS_LOCK, \ 538 SVN_PROP_EXTERNALS, \ 539 SVN_PROP_MERGEINFO, \ 540 SVN_PROP_INHERITABLE_AUTO_PROPS, \ 541 SVN_PROP_INHERITABLE_IGNORES, \ 543 SVN_PROP_TEXT_TIME, \ 571 #define SVN_PROP_WC_PREFIX SVN_PROP_PREFIX "wc:" 576 #define SVN_PROP_ENTRY_PREFIX SVN_PROP_PREFIX "entry:" 579 #define SVN_PROP_ENTRY_COMMITTED_REV SVN_PROP_ENTRY_PREFIX "committed-rev" 582 #define SVN_PROP_ENTRY_COMMITTED_DATE SVN_PROP_ENTRY_PREFIX "committed-date" 585 #define SVN_PROP_ENTRY_LAST_AUTHOR SVN_PROP_ENTRY_PREFIX "last-author" 588 #define SVN_PROP_ENTRY_UUID SVN_PROP_ENTRY_PREFIX "uuid" 592 #define SVN_PROP_ENTRY_LOCK_TOKEN SVN_PROP_ENTRY_PREFIX "lock-token" 597 #define SVN_PROP_CUSTOM_PREFIX SVN_PROP_PREFIX "custom:" 611 #define SVN_PROP_REVISION_AUTHOR SVN_PROP_PREFIX "author" 614 #define SVN_PROP_REVISION_LOG SVN_PROP_PREFIX "log" 617 #define SVN_PROP_REVISION_DATE SVN_PROP_PREFIX "date" 630 #define SVN_PROP_REVISION_ORIG_DATE SVN_PROP_PREFIX "original-date" 636 #define SVN_PROP_REVISION_AUTOVERSIONED SVN_PROP_PREFIX "autoversioned" 645 #define SVNSYNC_PROP_PREFIX SVN_PROP_PREFIX "sync-" 654 #define SVNSYNC_PROP_LOCK SVNSYNC_PROP_PREFIX "lock" 659 #define SVNSYNC_PROP_FROM_URL SVNSYNC_PROP_PREFIX "from-url" 663 #define SVNSYNC_PROP_FROM_UUID SVNSYNC_PROP_PREFIX "from-uuid" 668 #define SVNSYNC_PROP_LAST_MERGED_REV SVNSYNC_PROP_PREFIX "last-merged-rev" 673 #define SVNSYNC_PROP_CURRENTLY_COPYING SVNSYNC_PROP_PREFIX "currently-copying" 679 #define SVN_PROP_REVISION_ALL_PROPS SVN_PROP_REVISION_AUTHOR, \ 680 SVN_PROP_REVISION_LOG, \ 681 SVN_PROP_REVISION_DATE, \ 682 SVN_PROP_REVISION_AUTOVERSIONED, \ 683 SVN_PROP_REVISION_ORIG_DATE, \ 685 SVNSYNC_PROP_FROM_URL, \ 686 SVNSYNC_PROP_FROM_UUID, \ 687 SVNSYNC_PROP_LAST_MERGED_REV, \ 688 SVNSYNC_PROP_CURRENTLY_COPYING, 706 #define SVN_PROP_TXN_PREFIX SVN_PROP_PREFIX "txn-" 715 #define SVN_PROP_TXN_CLIENT_COMPAT_VERSION \ 716 SVN_PROP_TXN_PREFIX "client-compat-version" 722 #define SVN_PROP_TXN_USER_AGENT \ 723 SVN_PROP_TXN_PREFIX "user-agent" 735 #define SVN_PROP_REVISION_PREFIX SVN_PROP_PREFIX "revision-" Counted-length strings for Subversion, plus some C string goodies.
svn_error_t * svn_categorize_props(const apr_array_header_t *proplist, apr_array_header_t **entry_props, apr_array_header_t **wc_props, apr_array_header_t **regular_props, apr_pool_t *pool)
Given a proplist array of svn_prop_t structures, allocate three new arrays in pool.
svn_boolean_t svn_prop_is_known_svn_file_prop(const char *prop_name)
Return TRUE iff prop_name is in the "svn:" name space and is a known versioned property that is allow...
const svn_string_t * value
Property value.
svn_boolean_t svn_prop_is_boolean(const char *prop_name)
Return TRUE iff prop_name is a Subversion property whose value is interpreted as a boolean...
svn_error_t * svn_prop_diffs(apr_array_header_t **propdiffs, const apr_hash_t *target_props, const apr_hash_t *source_props, apr_pool_t *pool)
Given two property hashes (const char *name -> const svn_string_t *value), deduce the differences bet...
svn_prop_kind_t svn_property_kind2(const char *prop_name)
Return the property kind of a property named prop_name.
apr_array_header_t * svn_prop_array_dup(const apr_array_header_t *array, apr_pool_t *pool)
Duplicate an array of svn_prop_t items using pool.
Seen if user does "svn proplist"; note that this includes some "svn:" props and all user props...
svn_boolean_t svn_prop_is_known_svn_dir_prop(const char *prop_name)
Return TRUE iff prop_name is in the "svn:" name space and is a known versioned property that is allow...
svn_prop_kind_t svn_property_kind(int *prefix_len, const char *prop_name)
Return the prop kind of a property named prop_name, and (if prefix_len is non-NULL) set *prefix_len t...
svn_boolean_t svn_prop_name_is_valid(const char *prop_name)
Return TRUE iff prop_name is a valid property name.
Client-side only, stored by specific RA layer.
enum svn_prop_kind svn_prop_kind_t
Subversion distinguishes among several kinds of properties, particularly on the client-side.
svn_boolean_t svn_prop_is_svn_prop(const char *prop_name)
Return TRUE iff prop_name represents the name of a Subversion property.
svn_boolean_t svn_prop_is_known_svn_rev_prop(const char *prop_name)
Return TRUE iff prop_name is in the "svn:" name space and is a known revision property ("svn:log" or ...
svn_boolean_t svn_prop_needs_translation(const char *prop_name)
If prop_name requires that its value be stored as UTF8/LF in the repository, then return TRUE...
In .svn/entries, i.e., author, date, etc.
svn_prop_kind
Subversion distinguishes among several kinds of properties, particularly on the client-side.
const char * path_or_url
The absolute working copy path, relative filesystem path, or URL from which the properties in prop_ha...
struct svn_prop_t svn_prop_t
A general in-memory representation of a single property.
Subversion's data types.
svn_prop_t * svn_prop_dup(const svn_prop_t *prop, apr_pool_t *pool)
Return a duplicate of prop, allocated in pool.
#define SVN_DEPRECATED
Macro used to mark deprecated functions.
apr_array_header_t * svn_prop_hash_to_array(const apr_hash_t *hash, apr_pool_t *pool)
Given a hash (keys const char * and values const svn_string_t) of properties, returns an array of svn...
A structure to represent inherited properties.
apr_hash_t * prop_hash
A hash of (const char *) inherited property names, and (svn_string_t *) property values.
apr_hash_t * svn_prop_array_to_hash(const apr_array_header_t *properties, apr_pool_t *result)
Given an array of svn_prop_t items, return a hash mapping const char * property names to const svn_st...
apr_hash_t * svn_prop_hash_dup(const apr_hash_t *hash, apr_pool_t *pool)
Creates a deep copy of hash (keys const char * and values const svn_string_t *) in pool...
const char * name
Property name.
A general in-memory representation of a single property.
int svn_boolean_t
YABT: Yet Another Boolean Type.
svn_boolean_t svn_prop_has_svn_prop(const apr_hash_t *props, apr_pool_t *pool)
Return TRUE iff props has at least one property whose name represents the name of a Subversion proper...
svn_boolean_t svn_prop_is_known_svn_node_prop(const char *prop_name)
Return TRUE iff prop_name is in the "svn:" name space and is a known versioned property that is allow...
const char * svn_prop_get_value(const apr_hash_t *properties, const char *prop_name)
Return the value of property prop_name as it is in properties, with values const svn_string_t.
struct svn_prop_inherited_item_t svn_prop_inherited_item_t
A structure to represent inherited properties.