You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by hw...@apache.org on 2011/04/26 20:46:40 UTC
svn commit: r1096847 - in /subversion/trunk/subversion:
include/private/svn_wc_private.h libsvn_client/changelist.c
libsvn_client/info.c libsvn_wc/node.c tests/cmdline/entries-dump.c
Author: hwright
Date: Tue Apr 26 18:46:40 2011
New Revision: 1096847
URL: http://svn.apache.org/viewvc?rev=1096847&view=rev
Log:
Extend the changelist-filtering ability to the libsvn_wc-external node walker,
and use it for out changelist getter.
* subversion/tests/cmdline/entries-dump.c
(directory_dump): Update caller.
* subversion/include/private/svn_wc_private.h
(svn_wc__node_walk_children): Add param, and document.
* subversion/libsvn_wc/node.c
(svn_wc__node_walk_children): Add param, and pass it down the stack.
* subversion/libsvn_client/info.c
(crawl_entries): Don't filter via changelist in the walker.
* subversion/libsvn_client/changelist.c
(get_cl_fn_baton): Remove changelists member.
(get_node_changelist): Still fetch the changelist (for notification),
just don't bother filtering on it.
(svn_client_get_changelists): Use the walker to filter based on changelist.
Modified:
subversion/trunk/subversion/include/private/svn_wc_private.h
subversion/trunk/subversion/libsvn_client/changelist.c
subversion/trunk/subversion/libsvn_client/info.c
subversion/trunk/subversion/libsvn_wc/node.c
subversion/trunk/subversion/tests/cmdline/entries-dump.c
Modified: subversion/trunk/subversion/include/private/svn_wc_private.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/include/private/svn_wc_private.h?rev=1096847&r1=1096846&r2=1096847&view=diff
==============================================================================
--- subversion/trunk/subversion/include/private/svn_wc_private.h (original)
+++ subversion/trunk/subversion/include/private/svn_wc_private.h Tue Apr 26 18:46:40 2011
@@ -406,7 +406,8 @@ svn_wc__node_get_copyfrom_info(const cha
/**
* Call @a walk_callback with @a walk_baton for @a local_abspath and all
- * nodes underneath it, restricted by @a walk_depth.
+ * nodes underneath it, restricted by @a walk_depth, and possibly
+ * @a changelists.
*
* If @a show_hidden is true, include hidden nodes, else ignore them.
*/
@@ -414,6 +415,7 @@ svn_error_t *
svn_wc__node_walk_children(svn_wc_context_t *wc_ctx,
const char *local_abspath,
svn_boolean_t show_hidden,
+ const apr_array_header_t *changelists,
svn_wc__node_found_func_t walk_callback,
void *walk_baton,
svn_depth_t walk_depth,
Modified: subversion/trunk/subversion/libsvn_client/changelist.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/changelist.c?rev=1096847&r1=1096846&r2=1096847&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/changelist.c (original)
+++ subversion/trunk/subversion/libsvn_client/changelist.c Tue Apr 26 18:46:40 2011
@@ -130,7 +130,6 @@ struct get_cl_fn_baton
{
svn_changelist_receiver_t callback_func;
void *callback_baton;
- apr_hash_t *changelists;
svn_wc_context_t *wc_ctx;
apr_pool_t *pool;
};
@@ -148,12 +147,7 @@ get_node_changelist(const char *local_ab
SVN_ERR(svn_wc__node_get_changelist(&changelist, b->wc_ctx,
local_abspath, pool, pool));
- /* If the the changelist matches one that we're looking for (or we
- aren't looking for any in particular)... */
- if (svn_wc__changelist_match(b->wc_ctx, local_abspath,
- b->changelists, pool)
- && ((kind == svn_node_file)
- || (kind == svn_node_dir)))
+ if (((kind == svn_node_file) || (kind == svn_node_dir)))
{
/* ...then call the callback function. */
@@ -183,13 +177,9 @@ svn_client_get_changelists(const char *p
gnb.callback_baton = callback_baton;
gnb.wc_ctx = ctx->wc_ctx;
gnb.pool = pool;
- if (changelists)
- SVN_ERR(svn_hash_from_cstring_keys(&(gnb.changelists), changelists, pool));
- else
- gnb.changelists = NULL;
return svn_error_return(
- svn_wc__node_walk_children(ctx->wc_ctx, local_abspath, FALSE,
+ svn_wc__node_walk_children(ctx->wc_ctx, local_abspath, FALSE, changelists,
get_node_changelist, &gnb, depth,
ctx->cancel_func, ctx->cancel_baton, pool));
}
Modified: subversion/trunk/subversion/libsvn_client/info.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/info.c?rev=1096847&r1=1096846&r2=1096847&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/info.c (original)
+++ subversion/trunk/subversion/libsvn_client/info.c Tue Apr 26 18:46:40 2011
@@ -457,7 +457,7 @@ crawl_entries(const char *local_abspath,
fe_baton.receiver_baton = receiver_baton;
fe_baton.wc_ctx = ctx->wc_ctx;
- err = svn_wc__node_walk_children(ctx->wc_ctx, local_abspath, FALSE,
+ err = svn_wc__node_walk_children(ctx->wc_ctx, local_abspath, FALSE, NULL,
info_found_node_callback, &fe_baton, depth,
ctx->cancel_func, ctx->cancel_baton, pool);
Modified: subversion/trunk/subversion/libsvn_wc/node.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/node.c?rev=1096847&r1=1096846&r2=1096847&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/node.c (original)
+++ subversion/trunk/subversion/libsvn_wc/node.c Tue Apr 26 18:46:40 2011
@@ -791,6 +791,7 @@ svn_error_t *
svn_wc__node_walk_children(svn_wc_context_t *wc_ctx,
const char *local_abspath,
svn_boolean_t show_hidden,
+ const apr_array_header_t *changelists,
svn_wc__node_found_func_t walk_callback,
void *walk_baton,
svn_depth_t walk_depth,
@@ -800,7 +801,8 @@ svn_wc__node_walk_children(svn_wc_contex
{
return svn_error_return(
svn_wc__internal_walk_children(wc_ctx->db, local_abspath, show_hidden,
- NULL, walk_callback, walk_baton, walk_depth,
+ changelists, walk_callback, walk_baton,
+ walk_depth,
cancel_func, cancel_baton, scratch_pool));
}
Modified: subversion/trunk/subversion/tests/cmdline/entries-dump.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/entries-dump.c?rev=1096847&r1=1096846&r2=1096847&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/entries-dump.c (original)
+++ subversion/trunk/subversion/tests/cmdline/entries-dump.c Tue Apr 26 18:46:40 2011
@@ -230,7 +230,7 @@ directory_dump(const char *path,
bt.prefix_path = path;
- err = svn_wc__node_walk_children(bt.wc_ctx, bt.root_abspath, FALSE,
+ err = svn_wc__node_walk_children(bt.wc_ctx, bt.root_abspath, FALSE, NULL,
print_dir, &bt, svn_depth_infinity,
NULL, NULL, scratch_pool);
if (err)