In ra_neon, cache starting props when first seen, to reduce round trips.
Patch by: Daniel Shahaf <d.s@daniel.shahaf.co.il>
(Tweaked by me.)
* subversion/libsvn_ra_neon/ra_neon.h
(svn_ra_neon__session_t): New member 'vcc'.
(svn_ra_neon__get_starting_props,
svn_ra_neon__search_for_starting_props): Document the caching
behavior, because it's visible and we now depend on it.
* subversion/libsvn_ra_neon/props.c
(svn_ra_neon__get_starting_props): Cache VCC and UUID in the session.
(svn_ra_neon__get_vcc): Look in the cache first.
(svn_ra_neon__get_baseline_props):
Call __get_vcc() to get the VCC.
Change local variable 'vcc' to 'const char *' from 'svn_string_t *'.
(svn_ra_neon__get_baseline_info):
Call __get_starting_props() instead of calling
svn_ra_neon__get_props_resource() directly.
* subversion/libsvn_ra_neon/session.c
(svn_ra_neon__open): Initialize cached fields to NULL.
(svn_ra_neon__do_get_uuid): Rely on __get_starting_props() to cache
the UUID.
* subversion/libsvn_ra_neon/commit.c (apply_revprops):
Call __get_vcc() to get the VCC, to take advantage of the cache.
git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@870740 13f79535-47bb-0310-9956-ffa450edef68
4 files changed