Subversion
Data Structures | Defines | Typedefs | Functions
svn_version.h File Reference

Version information. More...

#include <apr_general.h>
#include <apr_tables.h>
#include "svn_types.h"

Go to the source code of this file.

Data Structures

struct  svn_version_t
 Version information. More...
struct  svn_version_checklist_t
 An entry in the compatibility checklist. More...
struct  svn_version_ext_linked_lib_t
 Dependent library information. More...
struct  svn_version_ext_loaded_lib_t
 Loaded shared library information. More...

Defines

#define SVN_VER_MAJOR   1
 Major version number.
#define SVN_VER_MINOR   8
 Minor version number.
#define SVN_VER_PATCH   13
 Patch number.
#define SVN_VER_MICRO   SVN_VER_PATCH
#define SVN_VER_LIBRARY   SVN_VER_MAJOR
#define SVN_VER_TAG   " (r1667537)"
 Version tag: a string describing the version.
#define SVN_VER_NUMTAG   ""
 Number tag: a string describing the version.
#define SVN_VER_REVISION   1667537
 Revision number: The repository revision number of this release.
#define SVN_VER_NUM
 Version number.
#define SVN_VER_NUMBER   SVN_VER_NUM SVN_VER_NUMTAG
 Version number with tag (contains no whitespace)
#define SVN_VERSION   SVN_VER_NUMBER SVN_VER_TAG
 Complete version string.
#define SVN_VERSION_DEFINE(name)
 Define a static svn_version_t object.
#define SVN_VERSION_BODY
 Generate the implementation of a version query function.

Typedefs

typedef struct
svn_version_checklist_t 
svn_version_checklist_t
 An entry in the compatibility checklist.
typedef const svn_version_t *(* svn_version_func_t )(void)
 Type of function returning library version.
typedef struct
svn_version_extended_t 
svn_version_extended_t
 Extended version information, including info about the running system.
typedef struct
svn_version_ext_linked_lib_t 
svn_version_ext_linked_lib_t
 Dependent library information.
typedef struct
svn_version_ext_loaded_lib_t 
svn_version_ext_loaded_lib_t
 Loaded shared library information.

Functions

svn_boolean_t svn_ver_compatible (const svn_version_t *my_version, const svn_version_t *lib_version)
 Check library version compatibility.
svn_boolean_t svn_ver_equal (const svn_version_t *my_version, const svn_version_t *lib_version)
 Check if my_version and lib_version encode the same version number.
svn_error_t * svn_ver_check_list (const svn_version_t *my_version, const svn_version_checklist_t *checklist)
 Perform a series of version compatibility checks.
const svn_version_t * svn_subr_version (void)
 Get libsvn_subr version information.
const svn_version_extended_t * svn_version_extended (svn_boolean_t verbose, apr_pool_t *pool)
 Return version information for the running program.
const char * svn_version_ext_build_date (const svn_version_extended_t *ext_info)
 Accessor for svn_version_extended_t.
const char * svn_version_ext_build_time (const svn_version_extended_t *ext_info)
 Accessor for svn_version_extended_t.
const char * svn_version_ext_build_host (const svn_version_extended_t *ext_info)
 Accessor for svn_version_extended_t.
const char * svn_version_ext_copyright (const svn_version_extended_t *ext_info)
 Accessor for svn_version_extended_t.
const char * svn_version_ext_runtime_host (const svn_version_extended_t *ext_info)
 Accessor for svn_version_extended_t.
const char * svn_version_ext_runtime_osname (const svn_version_extended_t *ext_info)
 Accessor for svn_version_extended_t.
const apr_array_header_t * svn_version_ext_linked_libs (const svn_version_extended_t *ext_info)
 Accessor for svn_version_extended_t.
const apr_array_header_t * svn_version_ext_loaded_libs (const svn_version_extended_t *ext_info)
 Accessor for svn_version_extended_t.

Detailed Description

Version information.

Definition in file svn_version.h.


Define Documentation

Deprecated:
Provided for backward compatibility with the 1.0 API.

Definition at line 80 of file svn_version.h.

#define SVN_VER_MAJOR   1

Major version number.

Modify when incompatible changes are made to published interfaces.

Definition at line 57 of file svn_version.h.

Deprecated:
Provided for backward compatibility with the 1.0 API.

Definition at line 77 of file svn_version.h.

#define SVN_VER_MINOR   8

Minor version number.

Modify when new functionality is added or new interfaces are defined, but all changes are backward compatible.

Definition at line 64 of file svn_version.h.

#define SVN_VER_NUM
Value:
APR_STRINGIFY(SVN_VER_MAJOR) \
                           "." APR_STRINGIFY(SVN_VER_MINOR) \
                           "." APR_STRINGIFY(SVN_VER_PATCH)

Version number.

Definition at line 128 of file svn_version.h.

#define SVN_VER_NUMTAG   ""

Number tag: a string describing the version.

This tag is used to generate a version number string to identify the client and server in HTTP requests, for example. It must not contain any spaces. This value remains "-dev" in the repository.

When rolling a tarball, we automatically replace this text with "" for final releases; in prereleases, it becomes "-alpha1, "-beta1", etc., as appropriate.

Always change this at the same time as SVN_VER_TAG.

Definition at line 111 of file svn_version.h.

#define SVN_VER_PATCH   13

Patch number.

Modify for every released patch.

Since:
New in 1.1.

Definition at line 73 of file svn_version.h.

#define SVN_VER_REVISION   1667537

Revision number: The repository revision number of this release.

This constant is used to generate the build number part of the Windows file version. Its value remains 0 in the repository.

When rolling a tarball, we automatically replace it with what we guess to be the correct revision number.

Definition at line 122 of file svn_version.h.

#define SVN_VER_TAG   " (r1667537)"

Version tag: a string describing the version.

This tag remains " (dev build)" in the repository so that we can always see from "svn --version" that the software has been built from the repository rather than a "blessed" distribution.

When rolling a tarball, we automatically replace this text with " (r1234)" (where 1234 is the last revision on the branch prior to the release) for final releases; in prereleases, it becomes " (Alpha 1)", " (Beta 1)", etc., as appropriate.

Always change this at the same time as SVN_VER_NUMTAG.

Definition at line 96 of file svn_version.h.

Value:
SVN_VERSION_DEFINE(versioninfo);              \
  return &versioninfo

Generate the implementation of a version query function.

Since:
New in 1.1.

Definition at line 181 of file svn_version.h.

#define SVN_VERSION_DEFINE (   name)
Value:
static const svn_version_t name = \
    { \
      SVN_VER_MAJOR, \
      SVN_VER_MINOR, \
      SVN_VER_PATCH, \
      SVN_VER_NUMTAG \
    } \

Define a static svn_version_t object.

Since:
New in 1.1.

Definition at line 167 of file svn_version.h.


Typedef Documentation

An entry in the compatibility checklist.

See also:
svn_ver_check_list()
Since:
New in 1.1.

Dependent library information.

Describes the name and versions of known dependencies used by libsvn_subr.

Since:
New in 1.8.

Loaded shared library information.

Describes the name and, where available, version of the shared libraries loaded by the running program.

Since:
New in 1.8.

Extended version information, including info about the running system.

Since:
New in 1.8.

Definition at line 263 of file svn_version.h.

typedef const svn_version_t*(* svn_version_func_t)(void)

Type of function returning library version.

Since:
New in 1.6.

Definition at line 245 of file svn_version.h.


Function Documentation

const svn_version_t* svn_subr_version ( void  )

Get libsvn_subr version information.

Since:
New in 1.1.
svn_error_t* svn_ver_check_list ( const svn_version_t *  my_version,
const svn_version_checklist_t *  checklist 
)

Perform a series of version compatibility checks.

Checks if my_version is compatible with each entry in checklist. checklist must end with an entry whose label is NULL.

See also:
svn_ver_compatible()
Since:
New in 1.1.
svn_boolean_t svn_ver_compatible ( const svn_version_t *  my_version,
const svn_version_t *  lib_version 
)

Check library version compatibility.

Return #TRUE if the client's version, given in my_version, is compatible with the library version, provided in lib_version.

This function checks for version compatibility as per our guarantees, but requires an exact match when linking to an unreleased library. A development client is always compatible with a previous released library.

Since:
New in 1.1.
svn_boolean_t svn_ver_equal ( const svn_version_t *  my_version,
const svn_version_t *  lib_version 
)

Check if my_version and lib_version encode the same version number.

Since:
New in 1.2.
const char* svn_version_ext_build_date ( const svn_version_extended_t *  ext_info)

Accessor for svn_version_extended_t.

Returns:
The date when the libsvn_subr library was compiled, in the format defined by the C standard macro __DATE__.
Since:
New in 1.8.
const char* svn_version_ext_build_host ( const svn_version_extended_t *  ext_info)

Accessor for svn_version_extended_t.

Returns:
The canonical host triplet (arch-vendor-osname) of the system where libsvn_subr was compiled.
Note:
On Unix-like systems (includng Mac OS X), this string is the same as the output of the config.guess script.
Since:
New in 1.8.
const char* svn_version_ext_build_time ( const svn_version_extended_t *  ext_info)

Accessor for svn_version_extended_t.

Returns:
The time when the libsvn_subr library was compiled, in the format defined by the C standard macro __TIME__.
Since:
New in 1.8.
const char* svn_version_ext_copyright ( const svn_version_extended_t *  ext_info)

Accessor for svn_version_extended_t.

Returns:
The localized copyright notice.
Since:
New in 1.8.
const apr_array_header_t* svn_version_ext_linked_libs ( const svn_version_extended_t *  ext_info)

Accessor for svn_version_extended_t.

Returns:
Array of svn_version_ext_linked_lib_t describing dependent libraries. The returned value may be NULL.
Since:
New in 1.8.
const apr_array_header_t* svn_version_ext_loaded_libs ( const svn_version_extended_t *  ext_info)

Accessor for svn_version_extended_t.

Returns:
Array of svn_version_ext_loaded_lib_t describing loaded shared libraries. The returned value may be NULL.
Note:
On Mac OS X, the loaded frameworks, private frameworks and system libraries will not be listed.
Since:
New in 1.8.
const char* svn_version_ext_runtime_host ( const svn_version_extended_t *  ext_info)

Accessor for svn_version_extended_t.

Returns:
The canonical host triplet (arch-vendor-osname) of the system where the current process is running.
Note:
This string may not be the same as the output of config.guess on the same system.
Since:
New in 1.8.
const char* svn_version_ext_runtime_osname ( const svn_version_extended_t *  ext_info)

Accessor for svn_version_extended_t.

Returns:
The "commercial" release name of the running operating system, if available. Not to be confused with, e.g., the output of "uname -v" or "uname -r". The returned value may be NULL.
Since:
New in 1.8.
const svn_version_extended_t* svn_version_extended ( svn_boolean_t  verbose,
apr_pool_t *  pool 
)

Return version information for the running program.

If verbose is #TRUE, collect extra information that may be expensive to retrieve (for example, the OS release name, list of shared libraries, etc.). Use pool for all allocations.

Since:
New in 1.8.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines