/[Apache-SVN]
ViewVC logotype

Revision 1453925


Jump to revision: Previous Next
Author: rhuijben
Date: Thu Mar 7 15:46:08 2013 UTC (11 years, 1 month ago)
Changed paths: 4
Log Message:
Handle 'svn:ignore' and 'svn:global-ignores' values as a single list for
status processing and for svn_wc_get_ignores2().

This patch simplifies some status code and makes a very expensive check per
directory that contains unversioned files cheaper.

On my profile working copy with unversioned files in every directory, but
no local changes this accounts for a +- 6% performance improvement on
'svn status'
(The amount of CPU time spend on obtaining these properties was reduced by 50%)

* subversion/libsvn_wc/props.c
  (svn_wc__get_iprops): Update caller.

* subversion/libsvn_wc/status.c
  (collect_ignore_patterns): Obtain a single list of patterns. Remove had_props
    optimization as that doesn't help for inherited properties anyway.
  (send_unversioned_item,
   one_child_status,
   get_dir_status): Remove inherited specialized code.

  (svn_wc_get_ignores2): Update code to really obtain all ignore patterns, as
    documented.

* subversion/libsvn_wc/wc_db.c
  (db_read_inherited_props): Add actual_props argument. Constify output array.
    Use db query directly to calculate whether the parent is what it should be
    and inherited property eligability with a single query. Obtain actual props
    if requested.
    Note that we are not really interested in switched paths here, but just if
    the parent directory is the parent of the child we are obtaining information
    for.

  (svn_wc__db_read_inherited_props): Obtain actual_props if requested.

* subversion/libsvn_wc/wc_db.h
  (svn_wc__db_read_inherited_props): Update documentation and prototype.


Changed paths

Path Details
Directorysubversion/trunk/subversion/libsvn_wc/props.c modified , text changed
Directorysubversion/trunk/subversion/libsvn_wc/status.c modified , text changed
Directorysubversion/trunk/subversion/libsvn_wc/wc_db.c modified , text changed
Directorysubversion/trunk/subversion/libsvn_wc/wc_db.h modified , text changed

infrastructure at apache.org
ViewVC Help
Powered by ViewVC 1.1.26