Subversion
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

 AP_MODULE_DECLARE (dav_error *) dav_svn_split_uri2(request_rec *r
 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:

Variables

const char * uri_to_split
const char const char * root_path
const char const char const char ** cleaned_uri
const char const char const char int * trailing_slash
const char const char const char int const char ** repos_basename
const char const char const char int const char const char ** relative_path
const char const char const char int const char const char const char ** repos_path
const char const char const char int const char const char const char apr_pool_t * pool
const char * uri

Detailed Description

Subversion's backend for Apache's mod_dav module.

autotoc_md2

Definition in file mod_dav_svn.h.

Function Documentation

◆ AP_MODULE_DECLARE()

AP_MODULE_DECLARE ( dav_error * )

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:

Same as dav_svn_get_repos_path2() but allocates the result inr->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.

Same as dav_svn_split_uri2() but allocates the result in r->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

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

Variable Documentation

◆ cleaned_uri

const char const char const char ** cleaned_uri

Definition at line 86 of file mod_dav_svn.h.

◆ pool

const char const char apr_pool_t * pool

Definition at line 91 of file mod_dav_svn.h.

◆ relative_path

const char const char const char int const char const char ** relative_path

Definition at line 89 of file mod_dav_svn.h.

◆ repos_basename

const char const char const char int const char ** repos_basename

Definition at line 88 of file mod_dav_svn.h.

◆ repos_path

const char const char ** repos_path

Definition at line 90 of file mod_dav_svn.h.

◆ root_path

const char * root_path

Definition at line 85 of file mod_dav_svn.h.

◆ trailing_slash

const char const char const char int * trailing_slash

Definition at line 87 of file mod_dav_svn.h.

◆ uri

const char* uri

Definition at line 97 of file mod_dav_svn.h.

◆ uri_to_split

const char* uri_to_split

Definition at line 84 of file mod_dav_svn.h.