Subversion
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. More...
 
#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. More...
 
#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. More...
 
#define SVN_PROP_NEEDS_LOCK_VALUE   SVN_PROP_BOOLEAN_TRUE
 The value to force the needs-lock property to when set. More...
 
#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. More...
 
#define SVN_PROP_EXTERNALS   SVN_PROP_PREFIX "externals"
 Describes external items to check out into this directory. More...
 
#define SVN_PROP_MERGEINFO   SVN_PROP_PREFIX "mergeinfo"
 Merge info property used to record a resource's merge history. More...
 
#define SVN_PROP_INHERITABLE_AUTO_PROPS   SVN_PROP_PREFIX "auto-props"
 Property used to record inheritable configuration auto-props. More...
 
#define SVN_PROP_INHERITABLE_IGNORES   SVN_PROP_PREFIX "global-ignores"
 Property used to record inheritable configuration ignores. More...
 
#define SVN_PROP_TEXT_TIME   SVN_PROP_PREFIX "text-time"
 The files' last modification time. More...
 
#define SVN_PROP_OWNER   SVN_PROP_PREFIX "owner"
 The files' owner. More...
 
#define SVN_PROP_GROUP   SVN_PROP_PREFIX "group"
 The files' group. More...
 
#define SVN_PROP_UNIX_MODE   SVN_PROP_PREFIX "unix-mode"
 The files' unix-mode. More...
 
#define SVN_PROP_NODE_ALL_PROPS
 This is a list of all user-visible and -settable versioned node properties. More...
 
#define SVN_PROP_WC_PREFIX   SVN_PROP_PREFIX "wc:"
 The property name prefix that makes a property a "WC property". More...
 
#define SVN_PROP_ENTRY_PREFIX   SVN_PROP_PREFIX "entry:"
 Another type of non-user-visible property. More...
 
#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. More...
 
#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. More...
 
#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. More...
 
#define SVNSYNC_PROP_PREFIX   SVN_PROP_PREFIX "sync-"
 Prefix for all svnsync custom properties. More...
 
#define SVNSYNC_PROP_LOCK   SVNSYNC_PROP_PREFIX "lock"
 Used to enforce mutually exclusive destination repository access. More...
 
#define SVNSYNC_PROP_FROM_URL   SVNSYNC_PROP_PREFIX "from-url"
 Identifies the repository's source URL. More...
 
#define SVNSYNC_PROP_FROM_UUID   SVNSYNC_PROP_PREFIX "from-uuid"
 Identifies the repository's source UUID. More...
 
#define SVNSYNC_PROP_LAST_MERGED_REV   SVNSYNC_PROP_PREFIX "last-merged-rev"
 Identifies the last completely mirrored revision. More...
 
#define SVNSYNC_PROP_CURRENTLY_COPYING   SVNSYNC_PROP_PREFIX "currently-copying"
 Identifies the revision currently being copied. More...
 
#define SVN_PROP_REVISION_ALL_PROPS
 This is a list of all revision properties. More...
 
#define SVN_PROP_TXN_PREFIX   SVN_PROP_PREFIX "txn-"
 The prefix used for all (ephemeral) transaction properties. More...
 
#define SVN_PROP_TXN_CLIENT_COMPAT_VERSION   SVN_PROP_TXN_PREFIX "client-compat-version"
 Identifies the client version compatibility level. More...
 
#define SVN_PROP_TXN_USER_AGENT   SVN_PROP_TXN_PREFIX "user-agent"
 Identifies the client's user agent string, if any. More...
 
#define SVN_PROP_REVISION_PREFIX   SVN_PROP_PREFIX "revision-"
 The prefix reserved for copies of (ephemeral) transaction properties designed to outlive the transaction. More...
 

Typedefs

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

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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
svn_prop_kind_t svn_property_kind2 (const char *prop_name)
 Return the property kind of a property named prop_name. More...
 
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. More...
 
svn_boolean_t svn_prop_is_svn_prop (const char *prop_name)
 Return TRUE iff prop_name represents the name of a Subversion property. More...
 
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(). More...
 
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. More...
 
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.). More...
 
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.). More...
 
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.). More...
 
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.). More...
 
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. More...
 
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. More...
 
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). More...
 
svn_boolean_t svn_prop_name_is_valid (const char *prop_name)
 Return TRUE iff prop_name is a valid property name. More...
 

Detailed Description

Subversion properties.

@if copyrights

Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations

under the License.

Definition in file svn_props.h.