Subversion
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Typedefs | Enumerations | Functions
Filesystem directories
Filesystem interaction subsystem

Directory entry names and directory paths. More...

Data Structures

struct  svn_fs_path_change2_t
 Change descriptor. More...
 
struct  svn_fs_path_change_t
 Similar to svn_fs_path_change2_t, but without kind and copyfrom information. More...
 

Typedefs

typedef enum
svn_fs_path_change_kind_t 
svn_fs_path_change_kind_t
 The kind of change that occurred on the path.
 
typedef struct
svn_fs_path_change2_t 
svn_fs_path_change2_t
 Change descriptor.
 
typedef struct svn_fs_path_change_t svn_fs_path_change_t
 Similar to svn_fs_path_change2_t, but without kind and copyfrom information.
 

Enumerations

enum  svn_fs_path_change_kind_t {
  svn_fs_path_change_modify = 0,
  svn_fs_path_change_add,
  svn_fs_path_change_delete,
  svn_fs_path_change_replace,
  svn_fs_path_change_reset
}
 The kind of change that occurred on the path. More...
 

Functions

svn_fs_path_change2_tsvn_fs_path_change2_create (const svn_fs_id_t *node_rev_id, svn_fs_path_change_kind_t change_kind, apr_pool_t *pool)
 Allocate an svn_fs_path_change2_t structure in pool, initialize and return it.
 
svn_error_tsvn_fs_paths_changed2 (apr_hash_t **changed_paths2_p, svn_fs_root_t *root, apr_pool_t *pool)
 Determine what has changed under a root.
 
svn_error_tsvn_fs_paths_changed (apr_hash_t **changed_paths_p, svn_fs_root_t *root, apr_pool_t *pool)
 Same as svn_fs_paths_changed2(), only with svn_fs_path_change_t * values in the hash (and thus no kind or copyfrom data).
 

Detailed Description

Directory entry names and directory paths.

Here are the rules for directory entry names, and directory paths:

A directory entry name is a Unicode string encoded in UTF-8, and may not contain the NULL character (U+0000). The name should be in Unicode canonical decomposition and ordering. No directory entry may be named '.', '..', or the empty string. Given a directory entry name which fails to meet these requirements, a filesystem function returns an SVN_ERR_FS_PATH_SYNTAX error.

A directory path is a sequence of zero or more directory entry names, separated by slash characters (U+002f), and possibly ending with slash characters. Sequences of two or more consecutive slash characters are treated as if they were a single slash. If a path ends with a slash, it refers to the same node it would without the slash, but that node must be a directory, or else the function returns an SVN_ERR_FS_NOT_DIRECTORY error.

A path consisting of the empty string, or a string containing only slashes, refers to the root directory.

Typedef Documentation

Change descriptor.

Note
Fields may be added to the end of this structure in future versions. Therefore, to preserve binary compatibility, users should not directly allocate structures of this type.
The text_mod, prop_mod and mergeinfo_mod flags mean the text, properties and mergeinfo property (respectively) were "touched" by the commit API; this does not mean the new value is different from the old value.
Since
New in 1.6.

The kind of change that occurred on the path.

Similar to svn_fs_path_change2_t, but without kind and copyfrom information.

Deprecated:
Provided for backwards compatibility with the 1.5 API.

Enumeration Type Documentation

The kind of change that occurred on the path.

Enumerator:
svn_fs_path_change_modify 

path modified in txn

svn_fs_path_change_add 

path added in txn

svn_fs_path_change_delete 

path removed in txn

svn_fs_path_change_replace 

path removed and re-added in txn

svn_fs_path_change_reset 

ignore all previous change items for path (internal-use only)

Definition at line 1448 of file svn_fs.h.

Function Documentation

svn_fs_path_change2_t* svn_fs_path_change2_create ( const svn_fs_id_t node_rev_id,
svn_fs_path_change_kind_t  change_kind,
apr_pool_t *  pool 
)

Allocate an svn_fs_path_change2_t structure in pool, initialize and return it.

Set the node_rev_id field of the created struct to node_rev_id, and change_kind to change_kind. Set all other fields to their _unknown, NULL or invalid value, respectively.

Since
New in 1.6.
svn_error_t* svn_fs_paths_changed ( apr_hash_t **  changed_paths_p,
svn_fs_root_t root,
apr_pool_t *  pool 
)

Same as svn_fs_paths_changed2(), only with svn_fs_path_change_t * values in the hash (and thus no kind or copyfrom data).

Deprecated:
Provided for backward compatibility with the 1.5 API.
svn_error_t* svn_fs_paths_changed2 ( apr_hash_t **  changed_paths2_p,
svn_fs_root_t root,
apr_pool_t *  pool 
)

Determine what has changed under a root.

Allocate and return a hash *changed_paths2_p containing descriptions of the paths changed under root. The hash is keyed with const char * paths, and has svn_fs_path_change2_t * values.

Callers can assume that this function takes time proportional to the amount of data output, and does not need to do tree crawls; however, it is possible that some of the node_kind fields in the svn_fs_path_change2_t * values will be svn_node_unknown or that and some of the copyfrom_known fields will be FALSE.

Use pool for all allocations, including the hash and its values.

Since
New in 1.6.