GME  13
Classes | Defines | Typedefs | Enumerations | Functions
svn_types.h File Reference

Subversion's data types. More...

Go to the source code of this file.

Classes

struct  svn_error_t
struct  svn_dirent_t
struct  svn_commit_info_t
struct  svn_log_changed_path2_t
struct  svn_log_changed_path_t
struct  svn_log_entry_t
struct  svn_lock_t
struct  svn_merge_range_t
struct  svn_location_segment_t

Defines

#define SVN_DEPRECATED
#define SVN_UNALIGNED_ACCESS_IS_OK   0
#define TRUE   1
#define FALSE   0
#define APR_ARRAY_IDX(ary, i, type)   (((type *)(ary)->elts)[i])
#define APR_ARRAY_PUSH(ary, type)   (*((type *)apr_array_push(ary)))
#define SVN__APR_STATUS_IS_ENOTDIR(s)   APR_STATUS_IS_ENOTDIR(s)
#define SVN_IS_VALID_REVNUM(n)   ((n) >= 0)
#define SVN_INVALID_REVNUM   ((svn_revnum_t) -1)
#define SVN_IGNORED_REVNUM   ((svn_revnum_t) -1)
#define SVN_STR_TO_REV(str)   ((svn_revnum_t) atol(str))
#define SVN_REVNUM_T_FMT   "ld"
#define SVN_INVALID_FILESIZE   ((svn_filesize_t) -1)
#define SVN_FILESIZE_T_FMT   APR_INT64_T_FMT
#define svn__atoui64(X)   ((apr_uint64_t) apr_atoi64(X))
#define SVN_DEPTH_INFINITY_OR_FILES(recurse)   ((recurse) ? svn_depth_infinity : svn_depth_files)
#define SVN_DEPTH_INFINITY_OR_IMMEDIATES(recurse)   ((recurse) ? svn_depth_infinity : svn_depth_immediates)
#define SVN_DEPTH_INFINITY_OR_EMPTY(recurse)   ((recurse) ? svn_depth_infinity : svn_depth_empty)
#define SVN_DEPTH_IS_RECURSIVE(depth)   ((depth) == svn_depth_infinity || (depth) == svn_depth_unknown)
#define SVN_DIRENT_KIND   0x00001
#define SVN_DIRENT_SIZE   0x00002
#define SVN_DIRENT_HAS_PROPS   0x00004
#define SVN_DIRENT_CREATED_REV   0x00008
#define SVN_DIRENT_TIME   0x00010
#define SVN_DIRENT_LAST_AUTHOR   0x00020
#define SVN_DIRENT_ALL   ~((apr_uint32_t ) 0)
#define SVN_KEYWORD_MAX_LEN   255
#define SVN_KEYWORD_REVISION_LONG   "LastChangedRevision"
#define SVN_KEYWORD_REVISION_SHORT   "Rev"
#define SVN_KEYWORD_REVISION_MEDIUM   "Revision"
#define SVN_KEYWORD_DATE_LONG   "LastChangedDate"
#define SVN_KEYWORD_DATE_SHORT   "Date"
#define SVN_KEYWORD_AUTHOR_LONG   "LastChangedBy"
#define SVN_KEYWORD_AUTHOR_SHORT   "Author"
#define SVN_KEYWORD_URL_LONG   "HeadURL"
#define SVN_KEYWORD_URL_SHORT   "URL"
#define SVN_KEYWORD_ID   "Id"
#define SVN_KEYWORD_HEADER   "Header"
#define SVN_STREAM_CHUNK_SIZE   102400
#define SVN__STREAM_CHUNK_SIZE   16384
#define SVN_MAX_OBJECT_SIZE   (((apr_size_t) -1) / 2)
#define SVN_LINENUM_MAX_VALUE   ULONG_MAX

Typedefs

typedef int svn_boolean_t
typedef struct svn_error_t svn_error_t
typedef struct svn_version_t svn_version_t
typedef enum svn_node_kind_t svn_node_kind_t
typedef enum svn_tristate_t svn_tristate_t
typedef long int svn_revnum_t
typedef apr_int64_t svn_filesize_t
typedef enum svn_depth_t svn_depth_t
typedef struct svn_dirent_t svn_dirent_t
typedef struct svn_commit_info_t svn_commit_info_t
typedef struct
svn_log_changed_path2_t 
svn_log_changed_path2_t
typedef struct
svn_log_changed_path_t 
svn_log_changed_path_t
typedef struct svn_log_entry_t svn_log_entry_t
typedef svn_error_t *(* svn_log_entry_receiver_t )(void *baton, svn_log_entry_t *log_entry, apr_pool_t *pool)
typedef svn_error_t *(* svn_log_message_receiver_t )(void *baton, apr_hash_t *changed_paths, svn_revnum_t revision, const char *author, const char *date, const char *message, apr_pool_t *pool)
typedef svn_error_t *(* svn_commit_callback2_t )(const svn_commit_info_t *commit_info, void *baton, apr_pool_t *pool)
typedef svn_error_t *(* svn_commit_callback_t )(svn_revnum_t new_revision, const char *date, const char *author, void *baton)
typedef svn_error_t *(* svn_cancel_func_t )(void *cancel_baton)
typedef struct svn_lock_t svn_lock_t
typedef struct svn_merge_range_t svn_merge_range_t
typedef struct
svn_location_segment_t 
svn_location_segment_t
typedef svn_error_t *(* svn_location_segment_receiver_t )(svn_location_segment_t *segment, void *baton, apr_pool_t *pool)
typedef unsigned long svn_linenum_t

Enumerations

enum  svn_node_kind_t {
  svn_node_none, svn_node_file, svn_node_dir, svn_node_unknown,
  svn_node_symlink
}
enum  svn_tristate_t { svn_tristate_false = 2, svn_tristate_true, svn_tristate_unknown }
enum  svn_recurse_kind { svn_nonrecursive = 1, svn_recursive }
enum  svn_depth_t {
  svn_depth_unknown = -2, svn_depth_exclude = -1, svn_depth_empty = 0, svn_depth_files = 1,
  svn_depth_immediates = 2, svn_depth_infinity = 3
}

Functions

const void * svn__apr_hash_index_key (const apr_hash_index_t *hi)
apr_ssize_t svn__apr_hash_index_klen (const apr_hash_index_t *hi)
void * svn__apr_hash_index_val (const apr_hash_index_t *hi)
const char * svn_node_kind_to_word (svn_node_kind_t kind)
svn_node_kind_t svn_node_kind_from_word (const char *word)
const char * svn_tristate__to_word (svn_tristate_t tristate)
svn_tristate_t svn_tristate__from_word (const char *word)
svn_error_tsvn_revnum_parse (svn_revnum_t *rev, const char *str, const char **endptr)
const char * svn_depth_to_word (svn_depth_t depth)
svn_depth_t svn_depth_from_word (const char *word)
svn_dirent_tsvn_dirent_dup (const svn_dirent_t *dirent, apr_pool_t *pool)
svn_dirent_tsvn_dirent_create (apr_pool_t *result_pool)
svn_commit_info_tsvn_create_commit_info (apr_pool_t *pool)
svn_commit_info_tsvn_commit_info_dup (const svn_commit_info_t *src_commit_info, apr_pool_t *pool)
svn_log_changed_path2_tsvn_log_changed_path2_create (apr_pool_t *pool)
svn_log_changed_path2_tsvn_log_changed_path2_dup (const svn_log_changed_path2_t *changed_path, apr_pool_t *pool)
svn_log_changed_path_tsvn_log_changed_path_dup (const svn_log_changed_path_t *changed_path, apr_pool_t *pool)
svn_log_entry_tsvn_log_entry_create (apr_pool_t *pool)
svn_log_entry_tsvn_log_entry_dup (const svn_log_entry_t *log_entry, apr_pool_t *pool)
svn_error_tsvn_mime_type_validate (const char *mime_type, apr_pool_t *pool)
svn_boolean_t svn_mime_type_is_binary (const char *mime_type)
svn_lock_tsvn_lock_create (apr_pool_t *pool)
svn_lock_tsvn_lock_dup (const svn_lock_t *lock, apr_pool_t *pool)
const char * svn_uuid_generate (apr_pool_t *pool)
svn_merge_range_tsvn_merge_range_dup (const svn_merge_range_t *range, apr_pool_t *pool)
svn_boolean_t svn_merge_range_contains_rev (const svn_merge_range_t *range, svn_revnum_t rev)
svn_location_segment_tsvn_location_segment_dup (const svn_location_segment_t *segment, apr_pool_t *pool)

Detailed Description

Subversion's data types.

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_types.h.


Define Documentation

#define FALSE   0

uhh... false

Definition at line 103 of file svn_types.h.

On Windows, APR_STATUS_IS_ENOTDIR includes several kinds of invalid-pathname error but not ERROR_INVALID_NAME, so we include it. We also include ERROR_DIRECTORY as that was not included in apr versions before 1.4.0 and this fix is not backported

Definition at line 215 of file svn_types.h.

#define svn__atoui64 (   X)    ((apr_uint64_t) apr_atoi64(X))

Definition at line 405 of file svn_types.h.

#define SVN__STREAM_CHUNK_SIZE   16384

Definition at line 1042 of file svn_types.h.

#define SVN_DEPRECATED

Macro used to mark deprecated functions.

Since:
New in 1.6.

Definition at line 59 of file svn_types.h.

#define SVN_DEPTH_INFINITY_OR_EMPTY (   recurse)    ((recurse) ? svn_depth_infinity : svn_depth_empty)

Return svn_depth_infinity if boolean recurse is TRUE, else return svn_depth_empty.

Note:
New code should never need to use this, it is called only from pre-depth APIs, for compatibility.
Since:
New in 1.5.

Definition at line 515 of file svn_types.h.

#define SVN_DEPTH_INFINITY_OR_FILES (   recurse)    ((recurse) ? svn_depth_infinity : svn_depth_files)

Return svn_depth_infinity if boolean recurse is TRUE, else return svn_depth_files.

Note:
New code should never need to use this, it is called only from pre-depth APIs, for compatibility.
Since:
New in 1.5.

Definition at line 493 of file svn_types.h.

#define SVN_DEPTH_INFINITY_OR_IMMEDIATES (   recurse)    ((recurse) ? svn_depth_infinity : svn_depth_immediates)

Return svn_depth_infinity if boolean recurse is TRUE, else return svn_depth_immediates.

Note:
New code should never need to use this, it is called only from pre-depth APIs, for compatibility.
Since:
New in 1.5.

Definition at line 504 of file svn_types.h.

#define SVN_DEPTH_IS_RECURSIVE (   depth)    ((depth) == svn_depth_infinity || (depth) == svn_depth_unknown)

Return a recursion boolean based on depth.

Although much code has been converted to use depth, some code still takes a recurse boolean. In most cases, it makes sense to treat unknown or infinite depth as recursive, and any other depth as non-recursive (which in turn usually translates to svn_depth_files).

Definition at line 525 of file svn_types.h.

#define SVN_FILESIZE_T_FMT   APR_INT64_T_FMT

In printf()-style functions, format file sizes using this.

Definition at line 399 of file svn_types.h.

#define SVN_IGNORED_REVNUM   ((svn_revnum_t) -1)

Not really invalid...just unimportant -- one day, this can be its own unique value, for now, just make it the same as SVN_INVALID_REVNUM.

Definition at line 358 of file svn_types.h.

#define SVN_INVALID_FILESIZE   ((svn_filesize_t) -1)

The 'official' invalid file size constant.

Definition at line 396 of file svn_types.h.

#define SVN_INVALID_REVNUM   ((svn_revnum_t) -1)

The 'official' invalid revision num

Definition at line 352 of file svn_types.h.

#define SVN_IS_VALID_REVNUM (   n)    ((n) >= 0)

Valid revision numbers begin at 0

Definition at line 349 of file svn_types.h.

#define SVN_LINENUM_MAX_VALUE   ULONG_MAX

The maximum value of an svn_linenum_t.

Since:
New in 1.7.

Definition at line 1254 of file svn_types.h.

#define SVN_MAX_OBJECT_SIZE   (((apr_size_t) -1) / 2)

The maximum amount we can ever hold in memory.

Definition at line 1047 of file svn_types.h.

#define SVN_REVNUM_T_FMT   "ld"

Originally intended to be used in printf()-style functions to format revision numbers. Deprecated due to incompatibilities with language translation tools (e.g. gettext).

New code should use a bare "%ld" format specifier for formatting revision numbers.

Deprecated:
Provided for backward compatibility with the 1.0 API.

Definition at line 388 of file svn_types.h.

#define SVN_STR_TO_REV (   str)    ((svn_revnum_t) atol(str))

Convert NULL-terminated C string str to a revision number.

Definition at line 361 of file svn_types.h.

#define SVN_STREAM_CHUNK_SIZE   102400

A buffer size that may be used when processing a stream of data.

Note:
We don't use this constant any longer, since it is considered to be unnecessarily large.
Deprecated:
Provided for backwards compatibility with the 1.3 API.

Definition at line 1029 of file svn_types.h.

Indicate whether the current platform supports unaligned data access.

On the majority of machines running SVN (x86 / x64), unaligned access is much cheaper than repeated aligned access. Define this macro to 1 on those machines. Unaligned access on other machines (e.g. IA64) will trigger memory access faults or simply misbehave.

Note: Some platforms may only support unaligned access for integers (PowerPC). As a result this macro should only be used to determine if unaligned access is supported for integers.

Since:
New in 1.7.

Definition at line 87 of file svn_types.h.

#define TRUE   1

uhh... true

Definition at line 98 of file svn_types.h.


Typedef Documentation

typedef int svn_boolean_t

YABT: Yet Another Boolean Type

Definition at line 94 of file svn_types.h.

typedef svn_error_t*(* svn_cancel_func_t)(void *cancel_baton)

A user defined callback that subversion will call with a user defined baton to see if the current operation should be continued. If the operation should continue, the function should return SVN_NO_ERROR, if not, it should return SVN_ERR_CANCELLED.

Definition at line 1088 of file svn_types.h.

typedef svn_error_t*(* svn_commit_callback2_t)(const svn_commit_info_t *commit_info, void *baton, apr_pool_t *pool)

Callback function type for commits.

When a commit succeeds, an instance of this is invoked with the commit_info, along with the baton closure. pool can be used for temporary allocations.

Since:
New in 1.4.

Definition at line 1004 of file svn_types.h.

typedef svn_error_t*(* svn_commit_callback_t)(svn_revnum_t new_revision, const char *date, const char *author, void *baton)

Same as svn_commit_callback2_t, but uses individual data elements instead of the svn_commit_info_t structure

Deprecated:
Provided for backward compatibility with the 1.3 API.

Definition at line 1014 of file svn_types.h.

All information about a commit.

Note:
Objects of this type should always be created using the svn_create_commit_info() function.
Since:
New in 1.3.
typedef enum svn_depth_t svn_depth_t

The concept of depth for directories.

Note:
This is similar to, but not exactly the same as, the WebDAV and LDAP concepts of depth.
Since:
New in 1.5.
typedef struct svn_dirent_t svn_dirent_t

A general subversion directory entry.

Note:
To allow for extending the svn_dirent_t structure in future releases, always use svn_dirent_create() to allocate the stucture.
Since:
New in 1.6.
typedef struct svn_error_t svn_error_t

Subversion error object.

Defined here, rather than in svn_error.h, to avoid a recursive #include situation.

typedef apr_int64_t svn_filesize_t

The size of a file in the Subversion FS.

Definition at line 393 of file svn_types.h.

typedef unsigned long svn_linenum_t

A line number, such as in a file or a stream.

Since:
New in 1.7.

Definition at line 1248 of file svn_types.h.

typedef struct svn_lock_t svn_lock_t

A lock object, for client & server to share.

A lock represents the exclusive right to add, delete, or modify a path. A lock is created in a repository, wholly controlled by the repository. A "lock-token" is the lock's UUID, and can be used to learn more about a lock's fields, and or/make use of the lock. Because a lock is immutable, a client is free to not only cache the lock-token, but the lock's fields too, for convenience.

Note that the 'is_dav_comment' field is wholly ignored by every library except for mod_dav_svn. The field isn't even marshalled over the network to the client. Assuming lock structures are created with apr_pcalloc(), a default value of 0 is universally safe.

Note:
in the current implementation, only files are lockable.
Since:
New in 1.2.

A structure to represent a path that changed for a log entry.

Note:
To allow for extending the svn_log_changed_path2_t structure in future releases, always use svn_log_changed_path2_create() to allocate the structure.
Since:
New in 1.6.

A structure to represent a path that changed for a log entry. Same as the first three fields of svn_log_changed_path2_t.

Deprecated:
Provided for backward compatibility with the 1.5 API.

The callback invoked by log message loopers, such as svn_ra_plugin_t.get_log() and svn_repos_get_logs().

This function is invoked once on each log message, in the order determined by the caller (see above-mentioned functions).

baton is what you think it is, and log_entry contains relevant information for the log message. Any of log_entry->author, log_entry->date, or log_entry->message may be NULL.

If log_entry->date is neither NULL nor the empty string, it was generated by svn_time_to_cstring() and can be converted to apr_time_t with svn_time_from_cstring().

If log_entry->changed_paths is non-NULL, then it contains as keys every path committed in log_entry->revision; the values are (svn_log_changed_path_t *) structures.

If log_entry->has_children is TRUE, the message will be followed immediately by any number of merged revisions (child messages), which are terminated by an invocation with SVN_INVALID_REVNUM. This usage may be recursive.

Use pool for temporary allocation. If the caller is iterating over log messages, invoking this receiver on each, we recommend the standard pool loop recipe: create a subpool, pass it as pool to each call, clear it after each iteration, destroy it after the loop is done. (For allocation that must last beyond the lifetime of a given receiver call, use a pool in baton.)

Since:
New in 1.5.

Definition at line 974 of file svn_types.h.

A structure to represent all the information about a particular log entry.

Note:
To allow for extending the svn_log_entry_t structure in future releases, always use svn_log_entry_create() to allocate the structure.
Since:
New in 1.5.
typedef svn_error_t*(* svn_log_message_receiver_t)(void *baton, apr_hash_t *changed_paths, svn_revnum_t revision, const char *author, const char *date,const char *message, apr_pool_t *pool)

Similar to svn_log_entry_receiver_t, except this uses separate parameters for each part of the log entry.

Deprecated:
Provided for backward compatibility with the 1.4 API.

Definition at line 985 of file svn_types.h.

Mergeinfo representing a merge of a range of revisions.

Since:
New in 1.5

The various types of nodes in the Subversion filesystem.

typedef long int svn_revnum_t

About Special Files in Subversion

Subversion denotes files that cannot be portably created or modified as "special" files (svn_node_special). It stores these files in the repository as a plain text file with the svn:special property set. The file contents contain: a platform-specific type string, a space character, then any information necessary to create the file on a supported platform. For example, if a symbolic link were being represented, the repository file would have the following contents:

"link /path/to/link/target"

Where 'link' is the identifier string showing that this special file should be a symbolic link and '/path/to/link/target' is the destination of the symbolic link.

Special files are stored in the text-base exactly as they are stored in the repository. The platform specific files are created in the working copy at EOL/keyword translation time using svn_subst_copy_and_translate2(). If the current platform does not support a specific special file type, the file is copied into the working copy as it is seen in the repository. Because of this, users of other platforms can still view and modify the special files, even if they do not have their unique properties.

New types of special files can be added by: 1. Implementing a platform-dependent routine to create a uniquely named special file and one to read the special file in libsvn_subr/io.c. 2. Creating a new textual name similar to SVN_SUBST__SPECIAL_LINK_STR in libsvn_subr/subst.c. 3. Handling the translation/detranslation case for the new type in create_special_file and detranslate_special_file, using the routines from 1. A revision number.

Definition at line 346 of file svn_types.h.

Generic three-state property to represent an unknown value for values that are just like booleans. The values have been set deliberately to make tristates disjoint from svn_boolean_t.

Note:
It is unsafe to use apr_pcalloc() to allocate these, since '0' is not a valid value.
Since:
New in 1.7.
typedef struct svn_version_t svn_version_t

Definition at line 161 of file svn_types.h.


Enumeration Type Documentation

The concept of depth for directories.

Note:
This is similar to, but not exactly the same as, the WebDAV and LDAP concepts of depth.
Since:
New in 1.5.
Enumerator:
svn_depth_unknown 

Depth undetermined or ignored. In some contexts, this means the client should choose an appropriate default depth. The server will generally treat it as svn_depth_infinity.

svn_depth_exclude 

Exclude (i.e., don't descend into) directory D.

Note:
In Subversion 1.5, svn_depth_exclude is *not* supported anywhere in the client-side (libsvn_wc/libsvn_client/etc) code; it is only supported as an argument to set_path functions in the ra and repos reporters. (This will enable future versions of Subversion to run updates, etc, against 1.5 servers with proper svn_depth_exclude behavior, once we get a chance to implement client-side support for svn_depth_exclude.)
svn_depth_empty 

Just the named directory D, no entries. Updates will not pull in any files or subdirectories not already present.

svn_depth_files 

D + its file children, but not subdirs. Updates will pull in any files not already present, but not subdirectories.

svn_depth_immediates 

D + immediate children (D and its entries). Updates will pull in any files or subdirectories not already present; those subdirectories' this_dir entries will have depth-empty.

svn_depth_infinity 

D + all descendants (full recursion from D). Updates will pull in any files or subdirectories not already present; those subdirectories' this_dir entries will have depth-infinity. Equivalent to the pre-1.5 default update behavior.

Definition at line 424 of file svn_types.h.

The various types of nodes in the Subversion filesystem.

Enumerator:
svn_node_none 

absent

svn_node_file 

regular file

svn_node_dir 

directory

svn_node_unknown 

something's here, but we don't know what

svn_node_symlink 

symbolic link

Note:
This value is not currently used by the public API.
Since:
New in 1.8.

Definition at line 227 of file svn_types.h.

An enum to indicate whether recursion is needed.

Enumerator:
svn_nonrecursive 
svn_recursive 

Definition at line 411 of file svn_types.h.

Generic three-state property to represent an unknown value for values that are just like booleans. The values have been set deliberately to make tristates disjoint from svn_boolean_t.

Note:
It is unsafe to use apr_pcalloc() to allocate these, since '0' is not a valid value.
Since:
New in 1.7.
Enumerator:
svn_tristate_false 

state known to be false (the constant does not evaulate to false)

svn_tristate_true 

state known to be true

svn_tristate_unknown 

state could be true or false

Definition at line 277 of file svn_types.h.


Function Documentation

svn_commit_info_t* svn_commit_info_dup ( const svn_commit_info_t src_commit_info,
apr_pool_t pool 
)

Return a deep copy src_commit_info allocated in pool.

Since:
New in 1.4.

Allocate an object of type svn_commit_info_t in pool and return it.

The revision field of the new struct is set to SVN_INVALID_REVNUM. All other fields are initialized to NULL.

Note:
Any object of the type svn_commit_info_t should be created using this function. This is to provide for extending the svn_commit_info_t in the future.
Since:
New in 1.3.
svn_depth_t svn_depth_from_word ( const char *  word)

Return the appropriate depth for depth_str. word is as returned from svn_depth_to_word(). If depth_str does not represent a recognized depth, return svn_depth_unknown.

Since:
New in 1.5.
const char* svn_depth_to_word ( svn_depth_t  depth)

Return a constant string expressing depth as an English word, e.g., "infinity", "immediates", etc. The string is not localized, as it may be used for client<->server communications.

Since:
New in 1.5.

Create a new svn_dirent_t instance with all values initialized to their not-available values.

Since:
New in 1.8.
svn_dirent_t* svn_dirent_dup ( const svn_dirent_t dirent,
apr_pool_t pool 
)

Return a deep copy of dirent, allocated in pool.

Since:
New in 1.4.

Returns an svn_lock_t, allocated in pool with all fields initialized to NULL values.

Note:
To allow for extending the svn_lock_t structure in the future releases, this function should always be used to allocate the structure.
Since:
New in 1.2.
svn_lock_t* svn_lock_dup ( const svn_lock_t lock,
apr_pool_t pool 
)

Return a deep copy of lock, allocated in pool.

Since:
New in 1.2.

Returns an svn_log_changed_path2_t, allocated in pool with all fields initialized to NULL, None or empty values.

Note:
To allow for extending the svn_log_changed_path2_t structure in future releases, this function should always be used to allocate the structure.
Since:
New in 1.6.

Return a deep copy of changed_path, allocated in pool.

Since:
New in 1.6.

Return a deep copy of changed_path, allocated in pool.

Since:
New in 1.3.
Deprecated:
Provided for backward compatibility with the 1.5 API.

Returns an svn_log_entry_t, allocated in pool with all fields initialized to NULL values.

Note:
To allow for extending the svn_log_entry_t structure in future releases, this function should always be used to allocate the structure.
Since:
New in 1.5.
svn_log_entry_t* svn_log_entry_dup ( const svn_log_entry_t log_entry,
apr_pool_t pool 
)

Return a deep copy of log_entry, allocated in pool.

The resulting svn_log_entry_t has changed_paths set to the same value as changed_path2. changed_paths will be NULL if changed_paths2 was NULL.

Since:
New in 1.6.

Returns true if the changeset committed in revision rev is one of the changesets in the range range.

Since:
New in 1.5.

Return a copy of range, allocated in pool.

Since:
New in 1.5.
svn_boolean_t svn_mime_type_is_binary ( const char *  mime_type)

Return FALSE iff mime_type is a textual type.

All mime types that start with "text/" are textual, plus some special cases (for example, "image/x-xbitmap").

svn_error_t* svn_mime_type_validate ( const char *  mime_type,
apr_pool_t pool 
)

Validate mime_type.

If mime_type does not contain a "/", or ends with non-alphanumeric data, return SVN_ERR_BAD_MIME_TYPE, else return success.

Use pool only to find error allocation.

Goal: to match both "foo/bar" and "foo/bar; charset=blah", without being too strict about it, but to disallow mime types that have quotes, newlines, or other garbage on the end, such as might be unsafe in an HTTP header.

svn_node_kind_t svn_node_kind_from_word ( const char *  word)

Return the appropriate node_kind for word. word is as returned from svn_node_kind_to_word(). If word does not represent a recognized kind or is NULL, return svn_node_unknown.

Since:
New in 1.6.
const char* svn_node_kind_to_word ( svn_node_kind_t  kind)

Return a constant string expressing kind as an English word, e.g., "file", "dir", etc. The string is not localized, as it may be used for client<->server communications. If the kind is not recognized, return "unknown".

Since:
New in 1.6.
svn_error_t* svn_revnum_parse ( svn_revnum_t rev,
const char *  str,
const char **  endptr 
)

Parse NULL-terminated C string str as a revision number and store its value in rev. If endptr is non-NULL, then the address of the first non-numeric character in str is stored in it. If there are no digits in str, then endptr is set (if non-NULL), and the error SVN_ERR_REVNUM_PARSE_FAILURE error is returned. Negative numbers parsed from str are considered invalid, and result in the same error.

Since:
New in 1.5.
svn_tristate_t svn_tristate__from_word ( const char *  word)

Return the appropriate tristate for word. If word is "true", returns svn_tristate_true; if word is "false", returns svn_tristate_false, for all other values (including NULL) returns svn_tristate_unknown.

Since:
New in 1.7.
const char* svn_tristate__to_word ( svn_tristate_t  tristate)

Return a constant string "true", "false" or NULL representing the value of tristate.

Since:
New in 1.7.
const char* svn_uuid_generate ( apr_pool_t pool)

Return a formatted Universal Unique IDentifier (UUID) string.

Since:
New in 1.4.