On Thu, May 5, 2011 at 09:58, <rhuijben_at_apache.org> wrote:
>...
> +++ subversion/trunk/subversion/libsvn_wc/status.c Thu May 5 13:58:14 2011
>...
> @@ -1230,27 +1132,39 @@ get_dir_status(const struct walk_status_
> && info->status != svn_wc__db_status_excluded
> && info->status != svn_wc__db_status_absent)
> {
> + svn_depth_t dir_depth;
> if (depth == svn_depth_files && info->kind == svn_wc__db_kind_dir)
> continue;
>
> /* Handle this entry (possibly recursing). */
> - SVN_ERR(handle_dir_entry(wb,
> - node_abspath,
> - info->status,
> - info->kind,
> - dir_repos_root_url,
> - dir_repos_relpath,
> - info,
> - dirent_p,
> - ignore_patterns,
> - depth == svn_depth_infinity
> - ? depth
> - : svn_depth_empty,
> - get_all,
> - no_ignore,
> - info->had_props,
> - status_func, status_baton,
> - cancel_func, cancel_baton, iterpool));
> + dir_depth = (depth == svn_depth_infinity) ? depth
> + : svn_depth_empty;
To clarify this, the interior 'depth' term can just be the
svn_depth_infinity constant. But then... this localvar isn't really
needed. See below.
> + SVN_ERR(send_status_structure(wb, node_abspath,
> + dir_repos_root_url,
> + dir_repos_relpath,
> + info, dirent_p, get_all,
> + status_func, status_baton,
> + iterpool));
> +
> + /* Descend only if the subdirectory is a working copy directory
> + and if DEPTH permits it. */
> + if ((info->kind == svn_wc__db_kind_dir)
> + && ((dir_depth == svn_depth_unknown
> + || dir_depth >= svn_depth_immediates)))
And the above check becomes simplified:
&& (depth == svn_depth_infinity)
>...
> @@ -1322,7 +1236,7 @@ hash_stash(void *baton,
> {
> apr_hash_t *stat_hash = baton;
> apr_pool_t *hash_pool = apr_hash_pool_get(stat_hash);
> - assert(! apr_hash_get(stat_hash, path, APR_HASH_KEY_STRING));
> + SVN_ERR_ASSERT(! apr_hash_get(stat_hash, path, APR_HASH_KEY_STRING));
> apr_hash_set(stat_hash, apr_pstrdup(hash_pool, path),
> APR_HASH_KEY_STRING, svn_wc_dup_status3(status, hash_pool));
This is not mentioned in the log message. Intentional?
Cheers,
-g
Received on 2011-05-05 18:04:25 CEST