Subversion
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Enumerations | Functions
svn_props.h File Reference

Subversion properties. More...

#include <apr_pools.h>
#include <apr_tables.h>
#include <apr_hash.h>
#include "svn_types.h"
#include "svn_string.h"

Go to the source code of this file.

Data Structures

struct  svn_prop_t
 A general in-memory representation of a single property. More...
 
struct  svn_prop_inherited_item_t
 A structure to represent inherited properties. More...
 

Macros

#define SVN_PROP_PREFIX   "svn:"
 All Subversion property names start with this.
 
#define SVN_PROP_BOOLEAN_TRUE   "*"
 Properties whose values are interpreted as booleans (such as svn:executable, svn:needs_lock, and svn:special) always fold their value to this.
 
#define SVN_PROP_MIME_TYPE   SVN_PROP_PREFIX "mime-type"
 The mime-type of a given file.
 
#define SVN_PROP_IGNORE   SVN_PROP_PREFIX "ignore"
 The ignore patterns for a given directory.
 
#define SVN_PROP_EOL_STYLE   SVN_PROP_PREFIX "eol-style"
 The line ending style for a given file.
 
#define SVN_PROP_KEYWORDS   SVN_PROP_PREFIX "keywords"
 The "activated" keywords (for keyword substitution) for a given file.
 
#define SVN_PROP_EXECUTABLE   SVN_PROP_PREFIX "executable"
 Set to either TRUE or FALSE if we want a file to be executable or not.
 
#define SVN_PROP_EXECUTABLE_VALUE   SVN_PROP_BOOLEAN_TRUE
 The value to force the executable property to when set.
 
#define SVN_PROP_NEEDS_LOCK   SVN_PROP_PREFIX "needs-lock"
 Set to TRUE ('*') if we want a file to be set to read-only when not locked.
 
#define SVN_PROP_NEEDS_LOCK_VALUE   SVN_PROP_BOOLEAN_TRUE
 The value to force the needs-lock property to when set.
 
#define SVN_PROP_SPECIAL   SVN_PROP_PREFIX "special"
 Set if the file should be treated as a special file.
 
#define SVN_PROP_SPECIAL_VALUE   SVN_PROP_BOOLEAN_TRUE
 The value to force the special property to when set.
 
#define SVN_PROP_EXTERNALS   SVN_PROP_PREFIX "externals"
 Describes external items to check out into this directory.
 
#define SVN_PROP_MERGEINFO   SVN_PROP_PREFIX "mergeinfo"
 Merge info property used to record a resource's merge history.
 
#define SVN_PROP_INHERITABLE_AUTO_PROPS   SVN_PROP_PREFIX "auto-props"
 Property used to record inheritable configuration auto-props.
 
#define SVN_PROP_INHERITABLE_IGNORES   SVN_PROP_PREFIX "global-ignores"
 Property used to record inheritable configuration ignores.
 
#define SVN_PROP_TEXT_TIME   SVN_PROP_PREFIX "text-time"
 The files' last modification time.
 
#define SVN_PROP_OWNER   SVN_PROP_PREFIX "owner"
 The files' owner.
 
#define SVN_PROP_GROUP   SVN_PROP_PREFIX "group"
 The files' group.
 
#define SVN_PROP_UNIX_MODE   SVN_PROP_PREFIX "unix-mode"
 The files' unix-mode.
 
#define SVN_PROP_NODE_ALL_PROPS
 This is a list of all user-visible and -settable versioned node properties.
 
#define SVN_PROP_WC_PREFIX   SVN_PROP_PREFIX "wc:"
 The property name prefix that makes a property a "WC property".
 
#define SVN_PROP_ENTRY_PREFIX   SVN_PROP_PREFIX "entry:"
 Another type of non-user-visible property.
 
#define SVN_PROP_ENTRY_COMMITTED_REV   SVN_PROP_ENTRY_PREFIX "committed-rev"
 The revision this entry was last committed to on.
 
#define SVN_PROP_ENTRY_COMMITTED_DATE   SVN_PROP_ENTRY_PREFIX "committed-date"
 The date this entry was last committed to on.
 
#define SVN_PROP_ENTRY_LAST_AUTHOR   SVN_PROP_ENTRY_PREFIX "last-author"
 The author who last committed to this entry.
 
#define SVN_PROP_ENTRY_UUID   SVN_PROP_ENTRY_PREFIX "uuid"
 The UUID of this entry's repository.
 
#define SVN_PROP_ENTRY_LOCK_TOKEN   SVN_PROP_ENTRY_PREFIX "lock-token"
 The lock token for this entry.
 
#define SVN_PROP_CUSTOM_PREFIX   SVN_PROP_PREFIX "custom:"
 When custom, user-defined properties are passed over the wire, they will have this prefix added to their name.
 
#define SVN_PROP_REVISION_AUTHOR   SVN_PROP_PREFIX "author"
 The fs revision property that stores a commit's author.
 
#define SVN_PROP_REVISION_LOG   SVN_PROP_PREFIX "log"
 The fs revision property that stores a commit's log message.
 
#define SVN_PROP_REVISION_DATE   SVN_PROP_PREFIX "date"
 The fs revision property that stores a commit's date.
 
#define SVN_PROP_REVISION_ORIG_DATE   SVN_PROP_PREFIX "original-date"
 The fs revision property that stores a commit's "original" date.
 
#define SVN_PROP_REVISION_AUTOVERSIONED   SVN_PROP_PREFIX "autoversioned"
 The presence of this fs revision property indicates that the revision was automatically generated by the mod_dav_svn autoversioning feature.
 
#define SVNSYNC_PROP_PREFIX   SVN_PROP_PREFIX "sync-"
 Prefix for all svnsync custom properties.
 
#define SVNSYNC_PROP_LOCK   SVNSYNC_PROP_PREFIX "lock"
 Used to enforce mutually exclusive destination repository access.
 
#define SVNSYNC_PROP_FROM_URL   SVNSYNC_PROP_PREFIX "from-url"
 Identifies the repository's source URL.
 
#define SVNSYNC_PROP_FROM_UUID   SVNSYNC_PROP_PREFIX "from-uuid"
 Identifies the repository's source UUID.
 
#define SVNSYNC_PROP_LAST_MERGED_REV   SVNSYNC_PROP_PREFIX "last-merged-rev"
 Identifies the last completely mirrored revision.
 
#define SVNSYNC_PROP_CURRENTLY_COPYING   SVNSYNC_PROP_PREFIX "currently-copying"
 Identifies the revision currently being copied.
 
#define SVN_PROP_REVISION_ALL_PROPS
 This is a list of all revision properties.
 
#define SVN_PROP_TXN_PREFIX   SVN_PROP_PREFIX "txn-"
 The prefix used for all (ephemeral) transaction properties.
 
#define SVN_PROP_TXN_CLIENT_COMPAT_VERSION   SVN_PROP_TXN_PREFIX "client-compat-version"
 Identifies the client version compatibility level.
 
#define SVN_PROP_TXN_USER_AGENT   SVN_PROP_TXN_PREFIX "user-agent"
 Identifies the client's user agent string, if any.
 
#define SVN_PROP_REVISION_PREFIX   SVN_PROP_PREFIX "revision-"
 The prefix reserved for copies of (ephemeral) transaction properties designed to outlive the transaction.
 

Typedefs

typedef struct svn_prop_t svn_prop_t
 A general in-memory representation of a single property.
 
typedef struct
svn_prop_inherited_item_t 
svn_prop_inherited_item_t
 A structure to represent inherited properties.
 
typedef enum svn_prop_kind svn_prop_kind_t
 Subversion distinguishes among several kinds of properties, particularly on the client-side.
 

Enumerations

enum  svn_prop_kind {
  svn_prop_entry_kind,
  svn_prop_wc_kind,
  svn_prop_regular_kind
}
 Subversion distinguishes among several kinds of properties, particularly on the client-side. More...
 

Functions

svn_prop_tsvn_prop_dup (const svn_prop_t *prop, apr_pool_t *pool)
 Return a duplicate of prop, allocated in pool.
 
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.
 
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_prop_t items using pool.
 
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_string_t * values.
 
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 * 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.
 
svn_prop_kind_t svn_property_kind2 (const char *prop_name)
 Return the property kind of a property named prop_name.
 
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 to the length of the prefix of prop_name that was sufficient to distinguish its kind.
 
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_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 property, in the sense of svn_prop_is_svn_prop().
 
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_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:date", e.g.).
 
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 allowed on a file and/or on a directory ("svn:eol-style", "svn:ignore", or "svn:mergeinfo", e.g.).
 
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 allowed on a file ("svn:eol-style" or "svn:mergeinfo", e.g.).
 
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 allowed on a directory ("svn:ignore" or "svn:mergeinfo", e.g.).
 
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.
 
svn_error_tsvn_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_error_tsvn_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 between them (from source_props -> target_props).
 
svn_boolean_t svn_prop_name_is_valid (const char *prop_name)
 Return TRUE iff prop_name is a valid property name.
 

Detailed Description

Subversion properties.

Definition in file svn_props.h.