Subversion
Modules | Functions
Berkeley DB filesystems

Subversion filesystems based on Berkeley DB. More...

Modules

 Berkeley DB filesystem compatibility
 The following functions are similar to their generic counterparts.
 

Functions

svn_error_tsvn_fs_set_berkeley_errcall (svn_fs_t *fs, void(*handler)(const char *errpfx, char *msg))
 Register an error handling function for Berkeley DB error messages. More...
 
svn_error_tsvn_fs_berkeley_logfiles (apr_array_header_t **logfiles, const char *path, svn_boolean_t only_unused, apr_pool_t *pool)
 Set *logfiles to an array of const char * log file names of Berkeley DB-based Subversion filesystem. More...
 

Detailed Description

Subversion filesystems based on Berkeley DB.

The following functions are specific to Berkeley DB filesystems.

Function Documentation

◆ svn_fs_berkeley_logfiles()

svn_error_t* svn_fs_berkeley_logfiles ( apr_array_header_t **  logfiles,
const char *  path,
svn_boolean_t  only_unused,
apr_pool_t *  pool 
)

Set *logfiles to an array of const char * log file names of Berkeley DB-based Subversion filesystem.

If only_unused is TRUE, set *logfiles to an array which contains only the names of Berkeley DB log files no longer in use by the filesystem. Otherwise, all log files (used and unused) are returned.

This function wraps the Berkeley DB 'log_archive' function called by the db_archive binary. Repository administrators may want to run this function periodically and delete the unused log files, as a way of reclaiming disk space.

◆ svn_fs_set_berkeley_errcall()

svn_error_t* svn_fs_set_berkeley_errcall ( svn_fs_t fs,
void(*)(const char *errpfx, char *msg)  handler 
)

Register an error handling function for Berkeley DB error messages.

Deprecated:
Provided for backward compatibility with the 1.2 API.

Despite being first declared deprecated in Subversion 1.3, this API is redundant in versions 1.1 and 1.2 as well.

Berkeley DB's error codes are seldom sufficiently informative to allow adequate troubleshooting. Berkeley DB provides extra messages through a callback function - if an error occurs, the handler will be called with two strings: an error message prefix, which will be zero, and an error message. handler might print it out, log it somewhere, etc.

Subversion 1.1 and later install their own handler internally, and wrap the messages from Berkeley DB into the standard svn_error_t object, making any information gained through this interface redundant.

It is only worth using this function if your program will be used with Subversion 1.0.

This function connects to the Berkeley DB DBENV->set_errcall interface. Since that interface supports only a single callback, Subversion's internal callback is registered with Berkeley DB, and will forward notifications to a user provided callback after performing its own processing.