You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by rh...@apache.org on 2011/05/08 15:20:08 UTC
svn commit: r1100733 - in /subversion/trunk/subversion: include/svn_props.h
libsvn_subr/properties.c libsvn_wc/update_editor.c
Author: rhuijben
Date: Sun May 8 13:20:08 2011
New Revision: 1100733
URL: http://svn.apache.org/viewvc?rev=1100733&view=rev
Log:
Make a property hash helper function from the update editor public to allow
using it in other editors.
* subversion/include/svn_props.h
(svn_prop_array_to_hash): New function.
* subversion/libsvn_subr/properties.c
(svn_prop_array_to_hash): New function.
* subversion/libsvn_wc/update_editor.c
(prop_hash_from_array): Remove function (which is now known as
svn_prop_array_to_hash).
(close_directory, close_file, svn_wc_add_repos_file4): Update callers.
Modified:
subversion/trunk/subversion/include/svn_props.h
subversion/trunk/subversion/libsvn_subr/properties.c
subversion/trunk/subversion/libsvn_wc/update_editor.c
Modified: subversion/trunk/subversion/include/svn_props.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_props.h?rev=1100733&r1=1100732&r2=1100733&view=diff
==============================================================================
--- subversion/trunk/subversion/include/svn_props.h (original)
+++ subversion/trunk/subversion/include/svn_props.h Sun May 8 13:20:08 2011
@@ -97,6 +97,16 @@ svn_prop_hash_to_array(apr_hash_t *hash,
apr_pool_t *pool);
/**
+ * Given an array of svn_prop_t items, return a hash mapping const char *
+ * property names to const svn_string_t * values.
+ *
+ * @since New in 1.7.
+ */
+apr_hash_t *
+svn_prop_array_to_hash(const apr_array_header_t *properties,
+ apr_pool_t *result);
+
+/**
* Creates a deep copy of @a hash (keys <tt>const char *</tt> and
* values <tt>const svn_string_t</tt>) in @a pool.
*
Modified: subversion/trunk/subversion/libsvn_subr/properties.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/properties.c?rev=1100733&r1=1100732&r2=1100733&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_subr/properties.c (original)
+++ subversion/trunk/subversion/libsvn_subr/properties.c Sun May 8 13:20:08 2011
@@ -221,6 +221,21 @@ svn_prop_diffs(apr_array_header_t **prop
return SVN_NO_ERROR;
}
+apr_hash_t *
+svn_prop_array_to_hash(const apr_array_header_t *properties,
+ apr_pool_t *pool)
+{
+ int i;
+ apr_hash_t *prop_hash = apr_hash_make(pool);
+
+ for (i = 0; i < properties->nelts; i++)
+ {
+ const svn_prop_t *prop = &APR_ARRAY_IDX(properties, i, svn_prop_t);
+ apr_hash_set(prop_hash, prop->name, APR_HASH_KEY_STRING, prop->value);
+ }
+
+ return prop_hash;
+}
svn_boolean_t
svn_prop_is_boolean(const char *prop_name)
Modified: subversion/trunk/subversion/libsvn_wc/update_editor.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/update_editor.c?rev=1100733&r1=1100732&r2=1100733&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/update_editor.c (original)
+++ subversion/trunk/subversion/libsvn_wc/update_editor.c Sun May 8 13:20:08 2011
@@ -2244,22 +2244,6 @@ externals_prop_changed(const apr_array_h
}
-/* Create in POOL a name->value hash from PROP_LIST, and return it. */
-static apr_hash_t *
-prop_hash_from_array(const apr_array_header_t *prop_list,
- apr_pool_t *pool)
-{
- int i;
- apr_hash_t *prop_hash = apr_hash_make(pool);
-
- for (i = 0; i < prop_list->nelts; i++)
- {
- const svn_prop_t *prop = &APR_ARRAY_IDX(prop_list, i, svn_prop_t);
- apr_hash_set(prop_hash, prop->name, APR_HASH_KEY_STRING, prop->value);
- }
-
- return prop_hash;
-}
/* An svn_delta_editor_t function. */
static svn_error_t *
@@ -2515,7 +2499,7 @@ close_directory(void *dir_baton,
NULL /* children */,
depth,
(dav_prop_changes && dav_prop_changes->nelts > 0)
- ? prop_hash_from_array(dav_prop_changes, pool)
+ ? svn_prop_array_to_hash(dav_prop_changes, pool)
: NULL,
NULL /* conflict */,
(! db->shadowed) && new_base_props != NULL,
@@ -3951,8 +3935,9 @@ close_file(void *file_baton,
new_checksum,
(dav_prop_changes
&& dav_prop_changes->nelts > 0)
- ? prop_hash_from_array(dav_prop_changes,
- scratch_pool)
+ ? svn_prop_array_to_hash(
+ dav_prop_changes,
+ scratch_pool)
: NULL,
NULL /* conflict */,
(! fb->shadowed) && new_base_props,
@@ -4861,7 +4846,7 @@ svn_wc_add_repos_file4(svn_wc_context_t
pool));
/* Put regular props back into a hash table. */
- new_base_props = prop_hash_from_array(regular_props, pool);
+ new_base_props = svn_prop_array_to_hash(regular_props, pool);
/* Get the change_* info from the entry props. */
SVN_ERR(accumulate_last_change(&changed_rev,
Re: svn commit: r1100733 - in /subversion/trunk/subversion:
include/svn_props.h libsvn_subr/properties.c libsvn_wc/update_editor.c
Posted by Daniel Shahaf <da...@apache.org>.
Daniel Shahaf wrote on Sun, May 08, 2011 at 19:27:06 +0300:
> rhuijben@apache.org wrote on Sun, May 08, 2011 at 13:20:08 -0000:
> > +svn_prop_array_to_hash(const apr_array_header_t *properties,
>
> How does it handle an svn_prop_t with a NULL 'value' member?
r1102367
Re: svn commit: r1100733 - in /subversion/trunk/subversion:
include/svn_props.h libsvn_subr/properties.c libsvn_wc/update_editor.c
Posted by Daniel Shahaf <da...@apache.org>.
Daniel Shahaf wrote on Sun, May 08, 2011 at 19:27:06 +0300:
> rhuijben@apache.org wrote on Sun, May 08, 2011 at 13:20:08 -0000:
> > +svn_prop_array_to_hash(const apr_array_header_t *properties,
>
> How does it handle an svn_prop_t with a NULL 'value' member?
r1102367
Re: svn commit: r1100733 - in /subversion/trunk/subversion:
include/svn_props.h libsvn_subr/properties.c libsvn_wc/update_editor.c
Posted by Daniel Shahaf <d....@daniel.shahaf.name>.
rhuijben@apache.org wrote on Sun, May 08, 2011 at 13:20:08 -0000:
> Author: rhuijben
> Date: Sun May 8 13:20:08 2011
> New Revision: 1100733
>
> URL: http://svn.apache.org/viewvc?rev=1100733&view=rev
> Log:
> Make a property hash helper function from the update editor public to allow
> using it in other editors.
>
> * subversion/include/svn_props.h
> (svn_prop_array_to_hash): New function.
>
> * subversion/libsvn_subr/properties.c
> (svn_prop_array_to_hash): New function.
>
> * subversion/libsvn_wc/update_editor.c
> (prop_hash_from_array): Remove function (which is now known as
> svn_prop_array_to_hash).
> (close_directory, close_file, svn_wc_add_repos_file4): Update callers.
>
> Modified:
> subversion/trunk/subversion/include/svn_props.h
> subversion/trunk/subversion/libsvn_subr/properties.c
> subversion/trunk/subversion/libsvn_wc/update_editor.c
>
> Modified: subversion/trunk/subversion/include/svn_props.h
> URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_props.h?rev=1100733&r1=1100732&r2=1100733&view=diff
> ==============================================================================
> --- subversion/trunk/subversion/include/svn_props.h (original)
> +++ subversion/trunk/subversion/include/svn_props.h Sun May 8 13:20:08 2011
> @@ -97,6 +97,16 @@ svn_prop_hash_to_array(apr_hash_t *hash,
> apr_pool_t *pool);
>
> /**
> + * Given an array of svn_prop_t items, return a hash mapping const char *
> + * property names to const svn_string_t * values.
> + *
> + * @since New in 1.7.
> + */
> +apr_hash_t *
> +svn_prop_array_to_hash(const apr_array_header_t *properties,
> + apr_pool_t *result);
> +
How does it handle an svn_prop_t with a NULL 'value' member?
> +/**
> * Creates a deep copy of @a hash (keys <tt>const char *</tt> and
> * values <tt>const svn_string_t</tt>) in @a pool.
> *
>
> Modified: subversion/trunk/subversion/libsvn_subr/properties.c
> URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/properties.c?rev=1100733&r1=1100732&r2=1100733&view=diff
> ==============================================================================
> --- subversion/trunk/subversion/libsvn_subr/properties.c (original)
> +++ subversion/trunk/subversion/libsvn_subr/properties.c Sun May 8 13:20:08 2011
> @@ -221,6 +221,21 @@ svn_prop_diffs(apr_array_header_t **prop
> return SVN_NO_ERROR;
> }
>
> +apr_hash_t *
> +svn_prop_array_to_hash(const apr_array_header_t *properties,
> + apr_pool_t *pool)
> +{
> + int i;
> + apr_hash_t *prop_hash = apr_hash_make(pool);
> +
> + for (i = 0; i < properties->nelts; i++)
> + {
> + const svn_prop_t *prop = &APR_ARRAY_IDX(properties, i, svn_prop_t);
> + apr_hash_set(prop_hash, prop->name, APR_HASH_KEY_STRING, prop->value);
> + }
> +
> + return prop_hash;
> +}
Re: svn commit: r1100733 - in /subversion/trunk/subversion:
include/svn_props.h libsvn_subr/properties.c libsvn_wc/update_editor.c
Posted by Daniel Shahaf <d....@daniel.shahaf.name>.
rhuijben@apache.org wrote on Sun, May 08, 2011 at 13:20:08 -0000:
> Author: rhuijben
> Date: Sun May 8 13:20:08 2011
> New Revision: 1100733
>
> URL: http://svn.apache.org/viewvc?rev=1100733&view=rev
> Log:
> Make a property hash helper function from the update editor public to allow
> using it in other editors.
>
> * subversion/include/svn_props.h
> (svn_prop_array_to_hash): New function.
>
> * subversion/libsvn_subr/properties.c
> (svn_prop_array_to_hash): New function.
>
> * subversion/libsvn_wc/update_editor.c
> (prop_hash_from_array): Remove function (which is now known as
> svn_prop_array_to_hash).
> (close_directory, close_file, svn_wc_add_repos_file4): Update callers.
>
> Modified:
> subversion/trunk/subversion/include/svn_props.h
> subversion/trunk/subversion/libsvn_subr/properties.c
> subversion/trunk/subversion/libsvn_wc/update_editor.c
>
> Modified: subversion/trunk/subversion/include/svn_props.h
> URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_props.h?rev=1100733&r1=1100732&r2=1100733&view=diff
> ==============================================================================
> --- subversion/trunk/subversion/include/svn_props.h (original)
> +++ subversion/trunk/subversion/include/svn_props.h Sun May 8 13:20:08 2011
> @@ -97,6 +97,16 @@ svn_prop_hash_to_array(apr_hash_t *hash,
> apr_pool_t *pool);
>
> /**
> + * Given an array of svn_prop_t items, return a hash mapping const char *
> + * property names to const svn_string_t * values.
> + *
> + * @since New in 1.7.
> + */
> +apr_hash_t *
> +svn_prop_array_to_hash(const apr_array_header_t *properties,
> + apr_pool_t *result);
> +
How does it handle an svn_prop_t with a NULL 'value' member?
> +/**
> * Creates a deep copy of @a hash (keys <tt>const char *</tt> and
> * values <tt>const svn_string_t</tt>) in @a pool.
> *
>
> Modified: subversion/trunk/subversion/libsvn_subr/properties.c
> URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/properties.c?rev=1100733&r1=1100732&r2=1100733&view=diff
> ==============================================================================
> --- subversion/trunk/subversion/libsvn_subr/properties.c (original)
> +++ subversion/trunk/subversion/libsvn_subr/properties.c Sun May 8 13:20:08 2011
> @@ -221,6 +221,21 @@ svn_prop_diffs(apr_array_header_t **prop
> return SVN_NO_ERROR;
> }
>
> +apr_hash_t *
> +svn_prop_array_to_hash(const apr_array_header_t *properties,
> + apr_pool_t *pool)
> +{
> + int i;
> + apr_hash_t *prop_hash = apr_hash_make(pool);
> +
> + for (i = 0; i < properties->nelts; i++)
> + {
> + const svn_prop_t *prop = &APR_ARRAY_IDX(properties, i, svn_prop_t);
> + apr_hash_set(prop_hash, prop->name, APR_HASH_KEY_STRING, prop->value);
> + }
> +
> + return prop_hash;
> +}