Checkout
stefan2
committed
on 16 May 13
We frequently use property name constants in conjunction with hash containers.
Provide new wrappers around apr_hash_get and apr_hash_set tha… Show more
We frequently use property name constants in conjunction with hash containers.

Provide new wrappers around apr_hash_get and apr_hash_set that accept such

string constants and statically determine their size.  That minimizes the

hash access costs.

Mass change hash get and set calls for SVN_PROP_* constants.

* subversion/include/svn_hash.h

 (svn_hash_gets,

  svn_hash_sets): Doxygen-ize the docstring

 (svn_hash_gets_fixed_key,

  svn_hash_sets_fixed_key): define new apr_hash_* wrapper

* subversion/libsvn_client/add.c

 (svn_client__get_all_auto_props): use faster hash wrappers with SVN_PROP_*

* subversion/libsvn_client/commit_util.c

 (svn_client__ensure_revprop_table): ditto

* subversion/libsvn_client/copy.c

 (repos_to_wc_copy_single): ditto

* subversion/libsvn_client/list.c

 (svn_client__ra_stat_compatible): ditto

* subversion/libsvn_client/log.c

 (pre_15_receiver): ditto

* subversion/libsvn_client/merge.c

 (prepare_merge_props_changed, merge_file_added, merge_dir_added,

  merge_dir_deleted): ditto

* subversion/libsvn_client/mergeinfo.c

 (svn_client__get_wc_or_repos_mergeinfo_catalog): ditto

* subversion/libsvn_fs_base/tree.c

 (txn_body_get_mergeinfo_data_and_entries,

  txn_body_get_mergeinfo_for_path): same

* subversion/libsvn_fs_fs/fs_fs.c

 (write_revision_zero): same

* subversion/libsvn_fs_fs/tree.c

 (crawl_directory_dag_for_mergeinfo, get_mergeinfo_for_path_internal): same

* subversion/libsvn_ra/deprecated.c

 (svn_ra_get_commit_editor2): same

* subversion/libsvn_ra_local/ra_plugin.c

 (svn_ra_local__get_commit_editor, svn_ra_local__get_commit_ev2): same

* subversion/libsvn_ra_svn/client.c

 (ra_svn_commit, ra_svn_log): same

* subversion/libsvn_repos/commit.c

 (svn_repos__get_commit_ev2): same

* subversion/libsvn_repos/delta.c

 (delta_proplists): same

* subversion/libsvn_repos/deprecated.c

 (svn_repos_get_commit_editor4): same

* subversion/libsvn_repos/dump.c

 (dump_node, write_revision_record):

* subversion/libsvn_repos/fs-wrap.c

 (svn_repos_fs_begin_txn_for_commit2, svn_repos_fs_begin_txn_for_commit,

  svn_repos_fs_revision_proplist): same

* subversion/libsvn_repos/log.c

 (fill_log_entry): same

* subversion/libsvn_repos/reporter.c

 (get_revision_info): same

* subversion/libsvn_repos/rev_hunt.c

 (svn_repos_get_committed_info): same

* subversion/libsvn_subr/compat.c

 (svn_compat_log_revprops_clear, svn_compat_log_revprops_out): same

* subversion/libsvn_wc/status.c

 (collect_ignore_patterns): same

* subversion/mod_dav_svn/activity.c

 (dav_svn__create_txn): same

* subversion/mod_dav_svn/lock.c

 (append_locks): same

* subversion/svndumpfilter/svndumpfilter.c

 (output_revision): same

* subversion/svnmucc/svnmucc.c

 (execute, sanitize_log_sources): same

* subversion/svnrdump/load_editor.c

 (new_node_record): same

* subversion/svnserve/serve.c

 (commit): same

* subversion/svnsync/svnsync.c

 (replay_rev_started): same

[Most of this got reverted in r1483610]

[Remainder reverted in r1484181] Show less