Subversion
Macros | Typedefs | Enumerations
svn_types_impl.h File Reference

Subversion's data types (common implementation) More...

Go to the source code of this file.

Macros

#define SVN_INVALID_REVNUM   ((svn_revnum_t) -1)
 The 'official' invalid revision number.
 

Typedefs

typedef enum svn_node_kind_t svn_node_kind_t
 The various types of nodes in the Subversion filesystem.
 
typedef enum svn_tristate_t svn_tristate_t
 Generic three-state property to represent an unknown value for values that are just like booleans. More...
 
typedef long int svn_revnum_t
 A revision number.
 
typedef enum svn_depth_t svn_depth_t
 The concept of depth for directories. More...
 

Enumerations

enum  svn_node_kind_t {
  svn_node_none,
  svn_node_file,
  svn_node_dir,
  svn_node_unknown,
  svn_node_symlink
}
 The various types of nodes in the Subversion filesystem. More...
 
enum  svn_tristate_t {
  svn_tristate_false = 2,
  svn_tristate_true,
  svn_tristate_unknown
}
 Generic three-state property to represent an unknown value for values that are just like booleans. More...
 
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
}
 The concept of depth for directories. More...
 

Detailed Description

Subversion's data types (common implementation)

@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.

Warning
This is a private implementation-specific header file. User code should include svn_types.h instead.

Definition in file svn_types_impl.h.

Typedef Documentation

◆ svn_depth_t

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.

◆ svn_tristate_t

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.

Enumeration Type Documentation

◆ 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.
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 110 of file svn_types_impl.h.

◆ svn_node_kind_t

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 50 of file svn_types_impl.h.

◆ svn_tristate_t

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 82 of file svn_types_impl.h.