You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Ivan Zhakov <ch...@gmail.com> on 2005/11/15 21:25:25 UTC

Re: svn commit: r17352 - in branches/wc-propcaching: subversion/include subversion/libsvn_wc

On 11/15/05, dberlin@tigris.org <db...@tigris.org> wrote:
> Author: dberlin
> Date: Tue Nov 15 10:40:41 2005
> New Revision: 17352
>
> Modified:
>    branches/wc-propcaching/TODO
>    branches/wc-propcaching/subversion/include/svn_wc.h
>    branches/wc-propcaching/subversion/libsvn_wc/entries.c
>    branches/wc-propcaching/subversion/libsvn_wc/entries.h
>    branches/wc-propcaching/subversion/libsvn_wc/log.c
>    branches/wc-propcaching/subversion/libsvn_wc/props.c
>    branches/wc-propcaching/subversion/libsvn_wc/props.h
>    branches/wc-propcaching/subversion/libsvn_wc/translate.c
>
> Log:
> On wc-propcaching branch:
> Add caching of property existence for a few select properties
> by storing a string in the entries file that contains a list of
> cached properties that are set for a given entry
>
> * 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 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, svn_wc__build_has_properties,
>   is_boolean_property, value_of_set_prop,
>   string_contains_prop): New function.
>   (svn_wc__has_props): If we have cached properties,
>   we must have properties
>
> * subversion/libsvn_wc/props.h
>   (svn_wc__cached_properties): New prototype.
>   (svn_wc__build_has_properties): New prototype.
Daniel, why you didn't make svn_wc__build_has_properties() static? It
seems svn_wc__build_has_properties used only in props.c.

> * subversion/libsvn_wc/entries.c
>   (svn_wc__atts_to_entry, write_entry, fold_entry,
>    svn_wv_entry_dup): Add code to handle has_properties.
>
> * subversion/libsvn_wc/entries.h
>   (SVN_WC__ENTRY_ATTR_HAS_PROPERTIES): New macro.
>   (SVN_WC__ENTRY_MODIFY_HAS_PROPERTIES): New macro.
>
> * subversion/libsvn_wc/log.c
>   (svn_wc__loggy_entry_modify): Add code to handle has_properties.
>
> * TODO: Update todo.

--
Ivan Zhakov