Loading...
Searching...
No Matches
mod_dav_svn.h File Reference

Subversion's backend for Apache's mod_dav module. More...

`#include <httpd.h>`
`#include <mod_dav.h>`

Go to the source code of this file.

## Functions

dav_error * | dav_svn_split_uri2 (request_rec *r, const char *uri_to_split, const char *root_path, const char **cleaned_uri, int *trailing_slash, const char **repos_basename, const char **relative_path, const char **repos_path, apr_pool_t *pool)
| Given an apache request r, a uri, and a root_path to the svn location block, process uri and return many things, allocated in pool:
dav_error * | dav_svn_split_uri (request_rec *r, const char *uri, const char *root_path, const char **cleaned_uri, int *trailing_slash, const char **repos_basename, const char **relative_path, const char **repos_path)
| Same as dav_svn_split_uri2() but allocates the result in r->pool.
dav_error * | dav_svn_get_repos_path2 (request_rec *r, const char *root_path, const char **repos_path, apr_pool_t *pool)
| Given an apache request r and a root_path to the svn location block, set *repos_path to the path of the repository on disk.
dav_error * | dav_svn_get_repos_path (request_rec *r, const char *root_path, const char **repos_path)
| Same as dav_svn_get_repos_path2() but allocates the result inr->pool.

## Detailed Description

Subversion's backend for Apache's mod_dav module.

# autotoc_md2

Definition in file mod_dav_svn.h.

## Function Documentation

## dav_svn_get_repos_path2()

dav_error * dav_svn_get_repos_path2 | ( | request_rec * | r,
|  | const char * | root_path,
|  | const char ** | repos_path,
|  | apr_pool_t * | pool )

Given an apache request r and a root_path to the svn location block, set *repos_path to the path of the repository on disk.

Perform all allocations in pool.

NOTE: The returned dav_error will be also allocated in pool, not in r->pool.

Since
  New in 1.9

## dav_svn_split_uri2()

dav_error * dav_svn_split_uri2 | ( | request_rec * | r,
|  | const char * | uri_to_split,
|  | const char * | root_path,
|  | const char ** | cleaned_uri,
|  | int * | trailing_slash,
|  | const char ** | repos_basename,
|  | const char ** | relative_path,
|  | const char ** | repos_path,
|  | apr_pool_t * | pool )

Given an apache request r, a uri, and a root_path to the svn location block, process uri and return many things, allocated in pool:

- cleaned_uri: The uri with duplicate and trailing slashes removed.
- trailing_slash: Whether the uri had a trailing slash on it.

Three special substrings of the uri are returned for convenience:

- repos_basename: The single path component that is the directory which contains the repository. (Don't confuse this with the "repository name" as optionally defined via the SVNReposName directive!)
- relative_path: The remaining imaginary path components.
- repos_path: The actual path within the repository filesystem, or NULL if no part of the uri refers to a path in the repository (e.g. "!svn/vcc/default" or "!svn/bln/25").

For example, consider the uri

    /svn/repos/proj1/!svn/blah/13//A/B/alpha

In the SVNPath case, this function would receive a root_path of '/svn/repos/proj1', and in the SVNParentPath case would receive a root_path of '/svn/repos'. But either way, we would get back:

- cleaned_uri: /svn/repos/proj1/!svn/blah/13/A/B/alpha
- repos_basename: proj1
- relative_path: /!svn/blah/13/A/B/alpha
- repos_path: A/B/alpha
- trailing_slash: FALSE

NOTE: The returned dav_error will be also allocated in pool, not in r->pool.

Since
  New in 1.9