[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

[wc-propcaching]: Cached proprety existence, take two

From: Daniel Berlin <dberlin_at_dberlin.org>
Date: 2005-11-12 20:13:39 CET


Since the last patch, i have
1. Factored out the has_property building into it's own function
2. Added the missing calls in revert_admin_things
3. Fix svn_wc__get_special to use the prop_get interface, instead of
doing it on it's own (which lets it use cached properties)
4. Made the cached properties function internal to the wc
5. Made it return the value of a boolean property if it *does* exist,
since we know it.
6. Changed the separator to '|' in both the cached properties list, and
the entries has_properties entry.
7. Cleaned up a bit .

Add caching of property existence for a few select properties.

* subversion/include/svn_wc.h
  (struct svn_wc_entry_t): Add has_properties member.

* subversion/libsvn_wc/props.c
  (svn_wc__install_props): Set has_properties from the
  from the props we are going to install.
  (svn_wc_prop_get): Short circuit the cached properties
  by checking if they exist before reading the props file.
  (svn_wc__cached_properties): New function.
  (svn_wc__build_has_properties): New function.
  (svn_is_boolean_property): New function.
  (svn_value_of_set_prop): New function.

* subversion/libsvn_wc/props.h
  (svn_wc__cached_properties): New prototype.
  (svn_wc__build_has_properties): New prototype.

* subversion/libsvn_wc/entries.c
  (svn_wc__atts_to_entry): Add code to handle has_properties.
  (write_entry): Ditto.
  (fold_entry): Ditto.
  (svn_wc_entry_dup): Ditto.

* subversion/libsvn_wc/entries.h

* subversion/libsvn_wc/log.c
  (svn_wc__loggy_entry_modify): Add code to handle has_properties.

To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Received on Sat Nov 12 20:14:39 2005

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.