Create verify-at-commit feature branch.

git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/verify-at-commit@1462039 13f79535-47bb-0310-9956-ffa450edef68
On the verify-at-commit branch, add a backend-independent implementation:
a db/fs.conf file.

* subversion/include/svn_fs.h
  (SVN_FS_CONFIG_SECTION_MISC, (SVN_FS_CONFIG_OPTION_VERIFY_AT_COMMIT):
    New macros.

* subversion/libsvn_fs/fs-loader.h
  (svn_fs_t.verify_at_commit): New struct member.

* subversion/libsvn_fs/fs-loader.c
  (svn_config.h): Include.
  (CONFIG_FILENAME): New macro.
  (write_config): New helper, based on the eponymous helper in FSFS (rather
    than on write_fs_type()).
  (svn_fs_create): Call write_config().
  (fs_new): Initialise new struct member.
  (svn_fs_open): Read config.
  (svn_fs_commit_txn): Use the config.


git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/verify-at-commit@1462054 13f79535-47bb-0310-9956-ffa450edef68
On the verify-at-commit branch, add a backend-dependent implementation (FSFS):

This required devising a way for an FSAP backend to call svn_fs_open().

* subversion/libsvn_fs/fs-loader.h
  (fs_library_vtable_t.set_svn_fs_open): New API.

* subversion/libsvn_fs/fs-loader.c
  (svn_fs_create, svn_fs_open, svn_fs_create_berkeley, svn_fs_open_berkeley):
    Invoke it from all public APIs that create/populate an svn_fs_t.

* subversion/libsvn_fs_base/fs.c
  (base_set_svn_fs_open, library_vtable): Add no-op implementation.

* subversion/libsvn_fs_fs/fs.c
  (fs_set_svn_fs_open, library_vtable): Add non-no-op implementation, using..

* subversion/libsvn_fs_fs/fs.h
  (fs_fs_data_t.svn_fs_open_): .. this new struct member.
  
* subversion/libsvn_fs_fs/fs_fs.c
  (verify_as_revision_before_current_plus_plus): New.
  (commit_body): Call it.


git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/verify-at-commit@1462062 13f79535-47bb-0310-9956-ffa450edef68
On the verify-at-commit branch, add a BRANCH-README, documenting concerns
raised so far.

git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/verify-at-commit@1462065 13f79535-47bb-0310-9956-ffa450edef68
On the verify-at-commit branch, sync from trunk.

This merges r1462037 through r1462354, of which r1462218 and r1462353 are
relevant to this branch's work.

git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/verify-at-commit@1462355 13f79535-47bb-0310-9956-ffa450edef68
On the verify-at-commit branch, update BRANCH-README.

git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/verify-at-commit@1462358 13f79535-47bb-0310-9956-ffa450edef68
On the verify-at-commit branch, revert r1462054.  This removes the approach
which 'svnadmin verify -t' makes obsolete.

* subversion/libsvn_fs_fs/fs_fs.c
  (verify_as_revision_before_current_plus_plus): Remove reference to now-removed
    svn_fs_t member.

git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/verify-at-commit@1462401 13f79535-47bb-0310-9956-ffa450edef68
On the verify-at-commit branch, remove the in-trunk now-obsolete implementation,
and simplify code.

* subversion/libsvn_fs/fs-loader.c
  (svn_fs_commit_txn): Don't verify, compute 'fs' more simply.

git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/verify-at-commit@1462402 13f79535-47bb-0310-9956-ffa450edef68
On the verify-at-commit branch, sync from trunk.  This is a no-op.

git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/verify-at-commit@1462404 13f79535-47bb-0310-9956-ffa450edef68
On the verify-at-commit branch, update BRANCH-README.

git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/verify-at-commit@1462405 13f79535-47bb-0310-9956-ffa450edef68
On the verify-as-commit branch:

Make the verification logic conditional: specifically, for now, make it enabled
iff built as maintainer mode.

* subversion/libsvn_fs_fs/fs_fs.c
  (verify_as_revision_before_current_plus_plus):
    Short-circuit in maintainer mode.


git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/verify-at-commit@1462407 13f79535-47bb-0310-9956-ffa450edef68
Auto-merge (reintegrate) the verify-at-commit branch.

This teaches FSFS to run 'verify -r' just before bumping 'db/current' (which
makes the txn-in-progress a revision) in maintainer mode.  To that end, it adds
the machinery for libsvn_fs_* to call svn_fs_open().


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1462409 13f79535-47bb-0310-9956-ffa450edef68