Checkout
cmpilato
committed
on 03 Apr 13
Avoid parsing the hooks-env file multiple times for closely-knit hook
invocations, specifically the pre-/post- pairs for commit, revprop
cha… Show more
Avoid parsing the hooks-env file multiple times for closely-knit hook

invocations, specifically the pre-/post- pairs for commit, revprop

change, lock, and unlock operations.

* subversion/libsvn_repos/repos.h,

* subversion/libsvn_repos/hooks.c

 (svn_repos__parse_hooks_env): Was parse_hooks_env().

 (svn_repos__hooks_start_commit,

  svn_repos__hooks_pre_commit,

  svn_repos__hooks_post_commit,

  svn_repos__hooks_pre_revprop_change,

  svn_repos__hooks_post_revprop_change,

  svn_repos__hooks_pre_lock,

  svn_repos__hooks_post_lock,

  svn_repos__hooks_pre_unlock,

  svn_repos__hooks_post_unlock): Add 'hooks_env' parameter, used now

   instead of calling parse_hooks_env() from within.

* subversion/libsvn_repos/commit.c

 (complete_cb, svn_repos__get_commit_ev2): Call

   svn_repos__parse_hooks_env(), and update calls to hook wrapper

   functions.

* subversion/libsvn_repos/fs-wrap.c

 (svn_repos_fs_commit_txn, svn_repos_fs_begin_txn_for_commit2,

  svn_repos_fs_change_rev_prop4, svn_repos_fs_lock, svn_repos_fs_unlock):

   Call svn_repos__parse_hooks_env(), and update calls to hook wrapper

   functions.

* subversion/libsvn_repos/load-fs-vtable.c

 (close_revision): Call svn_repos__parse_hooks_env(), and update

   calls to hook wrapper functions.

Show less