27 #include <apr_pools.h>
28 #include <apr_tables.h>
130 const char *prop_name);
186 apr_array_header_t **entry_props,
187 apr_array_header_t **wc_props,
188 apr_array_header_t **regular_props,
215 apr_hash_t *target_props,
216 apr_hash_t *source_props,
236 #define SVN_PROP_PREFIX "svn:"
262 #define SVN_PROP_BOOLEAN_TRUE "*"
265 #define SVN_PROP_MIME_TYPE SVN_PROP_PREFIX "mime-type"
268 #define SVN_PROP_IGNORE SVN_PROP_PREFIX "ignore"
271 #define SVN_PROP_EOL_STYLE SVN_PROP_PREFIX "eol-style"
274 #define SVN_PROP_KEYWORDS SVN_PROP_PREFIX "keywords"
277 #define SVN_PROP_EXECUTABLE SVN_PROP_PREFIX "executable"
284 #define SVN_PROP_EXECUTABLE_VALUE SVN_PROP_BOOLEAN_TRUE
288 #define SVN_PROP_NEEDS_LOCK SVN_PROP_PREFIX "needs-lock"
295 #define SVN_PROP_NEEDS_LOCK_VALUE SVN_PROP_BOOLEAN_TRUE
298 #define SVN_PROP_SPECIAL SVN_PROP_PREFIX "special"
305 #define SVN_PROP_SPECIAL_VALUE SVN_PROP_BOOLEAN_TRUE
322 #define SVN_PROP_EXTERNALS SVN_PROP_PREFIX "externals"
333 #define SVN_PROP_MERGEINFO SVN_PROP_PREFIX "mergeinfo"
361 #define SVN_PROP_TEXT_TIME SVN_PROP_PREFIX "text-time"
367 #define SVN_PROP_OWNER SVN_PROP_PREFIX "owner"
371 #define SVN_PROP_GROUP SVN_PROP_PREFIX "group"
376 #define SVN_PROP_UNIX_MODE SVN_PROP_PREFIX "unix-mode"
403 #define SVN_PROP_WC_PREFIX SVN_PROP_PREFIX "wc:"
408 #define SVN_PROP_ENTRY_PREFIX SVN_PROP_PREFIX "entry:"
411 #define SVN_PROP_ENTRY_COMMITTED_REV SVN_PROP_ENTRY_PREFIX "committed-rev"
414 #define SVN_PROP_ENTRY_COMMITTED_DATE SVN_PROP_ENTRY_PREFIX "committed-date"
417 #define SVN_PROP_ENTRY_LAST_AUTHOR SVN_PROP_ENTRY_PREFIX "last-author"
420 #define SVN_PROP_ENTRY_UUID SVN_PROP_ENTRY_PREFIX "uuid"
424 #define SVN_PROP_ENTRY_LOCK_TOKEN SVN_PROP_ENTRY_PREFIX "lock-token"
429 #define SVN_PROP_CUSTOM_PREFIX SVN_PROP_PREFIX "custom:"
443 #define SVN_PROP_REVISION_AUTHOR SVN_PROP_PREFIX "author"
446 #define SVN_PROP_REVISION_LOG SVN_PROP_PREFIX "log"
449 #define SVN_PROP_REVISION_DATE SVN_PROP_PREFIX "date"
462 #define SVN_PROP_REVISION_ORIG_DATE SVN_PROP_PREFIX "original-date"
468 #define SVN_PROP_REVISION_AUTOVERSIONED SVN_PROP_PREFIX "autoversioned"
475 #define SVNSYNC_PROP_PREFIX SVN_PROP_PREFIX "sync-"
482 #define SVNSYNC_PROP_LOCK SVNSYNC_PROP_PREFIX "lock"
485 #define SVNSYNC_PROP_FROM_URL SVNSYNC_PROP_PREFIX "from-url"
487 #define SVNSYNC_PROP_FROM_UUID SVNSYNC_PROP_PREFIX "from-uuid"
490 #define SVNSYNC_PROP_LAST_MERGED_REV SVNSYNC_PROP_PREFIX "last-merged-rev"
493 #define SVNSYNC_PROP_CURRENTLY_COPYING SVNSYNC_PROP_PREFIX "currently-copying"
499 #define SVN_PROP_REVISION_ALL_PROPS SVN_PROP_REVISION_AUTHOR, \
500 SVN_PROP_REVISION_LOG, \
501 SVN_PROP_REVISION_DATE, \
502 SVN_PROP_REVISION_AUTOVERSIONED, \
503 SVN_PROP_REVISION_ORIG_DATE, \
505 SVNSYNC_PROP_FROM_URL, \
506 SVNSYNC_PROP_FROM_UUID, \
507 SVNSYNC_PROP_LAST_MERGED_REV, \
508 SVNSYNC_PROP_CURRENTLY_COPYING,
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.
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...
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_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.
apr_hash_t * svn_prop_hash_dup(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.
apr_array_header_t * svn_prop_hash_to_array(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...
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.
struct svn_prop_t svn_prop_t
A general in-memory representation of a single property.
svn_prop_t * svn_prop_dup(const svn_prop_t *prop, apr_pool_t *pool)
Return a duplicate of prop, allocated in pool.
const char * name
Property name.
A general in-memory representation of a single property.
svn_error_t * svn_prop_diffs(apr_array_header_t **propdiffs, apr_hash_t *target_props, 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...
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...