29 #include <apr_errno.h>
30 #include <apr_pools.h>
32 #include <apr_tables.h>
34 #include <apr_strings.h>
46 #ifndef SVN_DEPRECATED
47 #if !defined(SWIGPERL) && !defined(SWIGPYTHON) && !defined(SWIGRUBY)
48 #if defined(__GNUC__) && (__GNUC__ >= 4 || (__GNUC__==3 && __GNUC_MINOR__>=1))
49 #define SVN_DEPRECATED __attribute__((deprecated))
50 #elif defined(_MSC_VER) && _MSC_VER >= 1300
51 #define SVN_DEPRECATED __declspec(deprecated)
53 #define SVN_DEPRECATED
56 #define SVN_DEPRECATED
99 #define APR_ARRAY_IDX(ary,i,type) (((type *)(ary)->elts)[i])
103 #ifndef APR_ARRAY_PUSH
104 #define APR_ARRAY_PUSH(ary,type) (*((type *)apr_array_push(ary)))
185 #define SVN_IS_VALID_REVNUM(n) ((n) >= 0)
188 #define SVN_INVALID_REVNUM ((svn_revnum_t) -1)
194 #define SVN_IGNORED_REVNUM ((svn_revnum_t) -1)
197 #define SVN_STR_TO_REV(str) ((svn_revnum_t) atol(str))
213 const char **endptr);
224 #define SVN_REVNUM_T_FMT "ld"
231 #define SVN_INVALID_FILESIZE ((svn_filesize_t) -1)
234 #define SVN_FILESIZE_T_FMT APR_INT64_T_FMT
236 #ifndef DOXYGEN_SHOULD_SKIP_THIS
240 #define svn__atoui64(X) ((apr_uint64_t) apr_atoi64(X))
261 svn_nonrecursive = 1,
281 svn_depth_unknown = -2,
292 svn_depth_exclude = -1,
305 svn_depth_immediates = 2,
311 svn_depth_infinity = 3
344 #define SVN_DEPTH_INFINITY_OR_FILES(recurse) \
345 ((recurse) ? svn_depth_infinity : svn_depth_files)
356 #define SVN_DEPTH_INFINITY_OR_IMMEDIATES(recurse) \
357 ((recurse) ? svn_depth_infinity : svn_depth_immediates)
368 #define SVN_DEPTH_INFINITY_OR_EMPTY(recurse) \
369 ((recurse) ? svn_depth_infinity : svn_depth_empty)
379 #define SVN_DEPTH_IS_RECURSIVE(depth) \
380 (((depth) == svn_depth_infinity || (depth) == svn_depth_unknown) \
395 #define SVN_DIRENT_KIND 0x00001
398 #define SVN_DIRENT_SIZE 0x00002
401 #define SVN_DIRENT_HAS_PROPS 0x00004
404 #define SVN_DIRENT_CREATED_REV 0x00008
407 #define SVN_DIRENT_TIME 0x00010
410 #define SVN_DIRENT_LAST_AUTHOR 0x00020
413 #define SVN_DIRENT_ALL ~((apr_uint32_t ) 0)
489 #define SVN_KEYWORD_MAX_LEN 255
492 #define SVN_KEYWORD_REVISION_LONG "LastChangedRevision"
495 #define SVN_KEYWORD_REVISION_SHORT "Rev"
499 #define SVN_KEYWORD_REVISION_MEDIUM "Revision"
502 #define SVN_KEYWORD_DATE_LONG "LastChangedDate"
505 #define SVN_KEYWORD_DATE_SHORT "Date"
508 #define SVN_KEYWORD_AUTHOR_LONG "LastChangedBy"
511 #define SVN_KEYWORD_AUTHOR_SHORT "Author"
514 #define SVN_KEYWORD_URL_LONG "HeadURL"
517 #define SVN_KEYWORD_URL_SHORT "URL"
520 #define SVN_KEYWORD_ID "Id"
524 #define SVN_KEYWORD_HEADER "Header"
795 apr_hash_t *changed_paths,
796 svn_revnum_t revision,
822 (svn_revnum_t new_revision,
835 #define SVN_STREAM_CHUNK_SIZE 102400
837 #ifndef DOXYGEN_SHOULD_SKIP_THIS
848 #define SVN__STREAM_CHUNK_SIZE 16384
853 #define SVN_MAX_OBJECT_SIZE (((apr_size_t) -1) / 2)
1015 svn_revnum_t range_end;
1030 typedef svn_error_t *(*svn_location_segment_receiver_t)
struct svn_log_changed_path_t svn_log_changed_path_t
A structure to represent a path that changed for a log entry.
apr_hash_t * changed_paths
A hash containing as keys every path committed in revision; the values are (svn_log_changed_path_t *)...
const char * post_commit_err
error message from post-commit hook, or NULL.
char action
'A'dd, 'D'elete, 'R'eplace, 'M'odify
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.
svn_location_segment_t * svn_location_segment_dup(svn_location_segment_t *segment, apr_pool_t *pool)
Return a deep copy of segment, allocated in pool.
const char * author
author of the commit.
svn_depth_t
The concept of depth for directories.
svn_lock_t * svn_lock_dup(const svn_lock_t *lock, apr_pool_t *pool)
Return a deep copy of lock, allocated in pool.
svn_revnum_t created_rev
last rev in which this node changed
const char * file
Source file where the error originated.
svn_boolean_t svn_mime_type_is_binary(const char *mime_type)
Return FALSE iff mime_type is a textual type.
svn_revnum_t revision
just-committed revision.
svn_log_changed_path2_t * svn_log_changed_path2_create(apr_pool_t *pool)
Returns an svn_log_changed_path2_t, allocated in pool with all fields initialized to NULL...
svn_error_t * svn_mime_type_validate(const char *mime_type, apr_pool_t *pool)
Validate mime_type.
const char * last_author
author of created_rev
struct svn_log_entry_t svn_log_entry_t
A structure to represent all the information about a particular log entry.
svn_commit_info_t * svn_create_commit_info(apr_pool_t *pool)
Allocate an object of type svn_commit_info_t in pool and return it.
svn_boolean_t svn_merge_range_contains_rev(svn_merge_range_t *range, svn_revnum_t rev)
Returns true if the changeset committed in revision rev is one of the changesets in the range range...
All information about a commit.
const char * token
unique URI representing lock
svn_recurse_kind
An enum to indicate whether recursion is needed.
svn_node_kind_t node_kind
The type of the node, may be svn_node_unknown.
svn_boolean_t is_dav_comment
was comment made by generic DAV client?
svn_node_kind_t kind
node kind
svn_revnum_t range_start
The beginning (oldest) and ending (youngest) revisions for this segment.
svn_boolean_t has_props
does the node have props?
Mergeinfo representing a merge of a range of revisions.
svn_depth_t svn_depth_from_word(const char *word)
Return the appropriate depth for depth_str.
struct svn_lock_t svn_lock_t
A lock object, for client & server to share.
A lock object, for client & server to share.
svn_filesize_t size
length of file text, or 0 for directories
svn_log_changed_path_t * svn_log_changed_path_dup(const svn_log_changed_path_t *changed_path, apr_pool_t *pool)
Return a deep copy of changed_path, allocated in pool.
const char * comment
(optional) description of lock
svn_node_kind_t
The various types of nodes in the Subversion filesystem.
apr_pool_t * pool
The pool holding this error and any child errors it wraps.
svn_log_entry_t * svn_log_entry_create(apr_pool_t *pool)
Returns an svn_log_entry_t, allocated in pool with all fields initialized to NULL values...
svn_node_kind_t svn_node_kind_from_word(const char *word)
Return the appropriate node_kind for word.
apr_time_t time
time of created_rev (mod-time)
const char * message
details from producer of error
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.
struct svn_error_t * child
ptr to the error we "wrap"
const char * date
server-side date of the commit.
svn_revnum_t revision
The revision of the commit.
apr_status_t apr_err
APR error value, possibly SVN_ custom err.
apr_int64_t svn_filesize_t
The size of a file in the Subversion FS.
svn_dirent_t * svn_dirent_dup(const svn_dirent_t *dirent, apr_pool_t *pool)
Return a deep copy of dirent, allocated in pool.
svn_log_changed_path2_t * svn_log_changed_path2_dup(const svn_log_changed_path2_t *changed_path, apr_pool_t *pool)
Return a deep copy of changed_path, allocated in pool.
apr_hash_t * revprops
The hash of requested revision properties, which may be NULL if it would contain no revprops...
A structure to represent a path that changed for a log entry.
svn_boolean_t inheritable
Whether this merge range should be inherited by treewise descendants of the path to which the range a...
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.
const char * copyfrom_path
Source path of copy (if any).
A structure to represent a path that changed for a log entry.
something's here, but we don't know what
apr_hash_t * changed_paths2
A hash containing as keys every path committed in revision; the values are (svn_log_changed_path2_t *...
svn_boolean_t has_children
Whether or not this message has children.
const char * copyfrom_path
Source path of copy (if any).
#define SVN_DEPRECATED
Macro used to mark deprecated functions.
struct svn_merge_range_t svn_merge_range_t
Mergeinfo representing a merge of a range of revisions.
const char * path
The absolute (sans leading slash) path for this segment.
const char * svn_uuid_generate(apr_pool_t *pool)
Return a formatted Universal Unique IDentifier (UUID) string.
struct svn_log_changed_path2_t svn_log_changed_path2_t
A structure to represent a path that changed for a log entry.
struct svn_dirent_t svn_dirent_t
A general subversion directory entry.
struct svn_error_t svn_error_t
Subversion error object.
A general subversion directory entry.
Common exception handling for Subversion.
long line
Source line where the error originated.
long int svn_revnum_t
About Special Files in Subversion.
svn_log_entry_t * svn_log_entry_dup(svn_log_entry_t *log_entry, apr_pool_t *pool)
Return a deep copy of log_entry, allocated in pool.
const char * path
the path this lock applies to
apr_time_t expiration_date
(optional) when lock will expire; If value is 0, lock will never expire.
const char * owner
the username which owns the lock
char action
'A'dd, 'D'elete, 'R'eplace, 'M'odify
svn_lock_t * svn_lock_create(apr_pool_t *pool)
Returns an svn_lock_t, allocated in pool with all fields initialized to NULL values.
int svn_boolean_t
YABT: Yet Another Boolean Type.
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...
svn_revnum_t copyfrom_rev
Source revision of copy (if any).
svn_revnum_t start
If the 'start' field is less than the 'end' field then 'start' is exclusive and 'end' inclusive of th...
svn_revnum_t copyfrom_rev
Source revision of copy (if any).
struct svn_location_segment_t svn_location_segment_t
A representation of a segment of a object's version history with an emphasis on the object's location...
struct svn_commit_info_t svn_commit_info_t
All information about a commit.
svn_merge_range_t * svn_merge_range_dup(svn_merge_range_t *range, apr_pool_t *pool)
Return a copy of range, allocated in pool.
A structure to represent all the information about a particular log entry.
A representation of a segment of a object's version history with an emphasis on the object's location...
apr_time_t creation_date
when lock was made