
                          LIBSVN_REPOS
                          ============

This library contains functionality built on top of libsvn_fs (that
is, this library makes calls against the API in svn_fs.h).  While not
strictly part of the filesystem, libsvn_repos is often the preferred
way to access the repository, because it honors repository hooks.

   >> For more on the hook system, see hooks.txt. <<

   >> For a list of all exported libsvn_repos funcs, see 'svn_repos.h'. <<

The source file arrangement here is:

  delta.c:          code that compares two filesystem trees, and then
                    describes a delta by driving an editor.  This is
                    the "soul" of the update command.

  commit-editor.c:  if you drive this editor, it will build a transaction
                    for you, and close_edit() will commit it.

  reporter.c:       code to build a transaction that 'mirrors' a
                    working copy, so that svn_fs_dir_delta() can drive
                    an update.

  hooks.c:          hook system, called by "cooperative" users of the fs.

  lock.c:           cross-process read/write lock manager, to temporarily
                    suspend all db3 access when DB_RUN_RECOVERY is
                    returned.
