Start work on issue #1601: to do deltification unconditionally as part
of the commit, but in the background when possible, so the user
doesn't wait.

This change prepares code paths for RA layers to choose which style of
deltification is most appropriate.  The actual deltification
(backgrounded or foregrounded) is not implemented yet.  In other
words, don't merge this to trunk yet :-).

* subversion/include/svn_repos.h
  (enum svn_repos_deltification_style): New enum.
  (svn_repos_fs_commit_txn, svn_repos_get_commit_editor): Take new
    deltify_how enum parameter.

* subversion/libsvn_repos/fs-wrap.c
  (svn_repos_fs_commit_txn): Take new deltify_how enum, leave comment
    about actually using it.

* subversion/libsvn_repos/commit.c
  (struct edit_baton): New field deltify_how.
  (svn_repos_get_commit_editor): Take new deltify_how parameter, store
    it in the edit baton.
  (close_edit): Pass eb->deltify_how to svn_repos_fs_commit_txn.

* subversion/libsvn_ra_local/ra_plugin.c
  (svn_ra_local__get_commit_editor): Pass svn_repos_deltify_foreground
    to svn_repos_get_commit_editor.

* subversion/svnserve/serve.c
  (commit): Pass svn_repos_deltify_foreground to
    svn_repos_get_commit_editor, for now, and leave comment about
    conditionalizing based on daemon mode.

* subversion/mod_dav_svn/version.c
  (dav_svn_checkin, dav_svn_merge): Pass svn_repos_deltify_background
    to svn_repos_fs_commit_txn.

* subversion/tests/libsvn_repos/repos-test.c
  (dir_deltas, node_tree_delete_under_copy): Pass
    svn_repos_deltify_foreground to svn_repos_fs_commit_txn.

* subversion/libsvn_repos/repos.c
  (create_hooks): Remove call to 'svnadmin deltify' from the
    post-commit hook template.

* subversion/include/svn_types.h
  (svn_commit_callback_t): Document that this is invoked only after
    the post-commit hook has completed.


git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/issue-1601-dev@848048 13f79535-47bb-0310-9956-ffa450edef68
9 files changed