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_t * | svn_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_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. More...
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 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.