svn_fs_commit_txn() and svn_repos_fs_commit_txn() allow a
transaction to be successfully committed and also return an
error, that may be the result of some post-commit FS jiggling or
a post-commit script failing.
The svn_repos_parse_fns2_t's close_revision field doesn't allow
this to be expressed, it only returns an svn_error_t, which
requires that either post-commit errors be swallowed or wrapped
to indicate that the commit succeeded. Instead of doing either
of these, a svn_repos_parse_fns3_t should be introduced with a
close_revision field:
svn_error_t *(*close_revision)(svn_revnum_t *new_rev, void *revision_baton);
Since svn_repos_get_fs_build_parser3 was revved and added in 1.7,
ideally it should be modified to use svn_repos_parse_fns3_t.
http://svn.haxx.se/dev/archive-2010-12/0437.shtml