You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by gs...@apache.org on 2012/03/19 18:48:44 UTC
svn commit: r1302565 - in /subversion/trunk/subversion: include/
libsvn_client/ libsvn_repos/ libsvn_subr/ libsvn_wc/ svnrdump/ svnsync/
Author: gstein
Date: Mon Mar 19 17:48:43 2012
New Revision: 1302565
URL: http://svn.apache.org/viewvc?rev=1302565&view=rev
Log:
Deprecate svn_property_kind() in order to remove unused PREFIX_LEN
parameter. Adjust all references.
* subversion/include/svn_props.h:
(svn_property_kind2): new function, no prefix_len
(svn_property_kind): deprecated
* subversion/libsvn_subr/properties.c:
(SIZEOF_WC_PREFIX, SIZEOF_ENTRY_PREFIX): new helper constants
(svn_property_kind2): new function, like svn_property_kind, but
without the PREFIX_LEN paramter
(svn_property_kind): rewrite in terms of kind2()
* subversion/svnsync/sync.c:
* subversion/svnrdump/dump_editor.c:
* subversion/svnrdump/load_editor.c:
* subversion/libsvn_wc/props.c:
* subversion/libsvn_wc/update_editor.c:
* subversion/libsvn_client/merge.c:
* subversion/libsvn_client/prop_commands.c:
* subversion/libsvn_repos/fs-wrap.c:
(...): update calls to svn_property_finc
Modified:
subversion/trunk/subversion/include/svn_props.h
subversion/trunk/subversion/libsvn_client/merge.c
subversion/trunk/subversion/libsvn_client/prop_commands.c
subversion/trunk/subversion/libsvn_repos/fs-wrap.c
subversion/trunk/subversion/libsvn_subr/properties.c
subversion/trunk/subversion/libsvn_wc/props.c
subversion/trunk/subversion/libsvn_wc/update_editor.c
subversion/trunk/subversion/svnrdump/dump_editor.c
subversion/trunk/subversion/svnrdump/load_editor.c
subversion/trunk/subversion/svnsync/sync.c
Modified: subversion/trunk/subversion/include/svn_props.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_props.h?rev=1302565&r1=1302564&r2=1302565&view=diff
==============================================================================
--- subversion/trunk/subversion/include/svn_props.h (original)
+++ subversion/trunk/subversion/include/svn_props.h Mon Mar 19 17:48:43 2012
@@ -150,10 +150,20 @@ typedef enum svn_prop_kind
svn_prop_regular_kind
} svn_prop_kind_t;
+/** Return the property kind of a property named @a prop_name.
+ *
+ * @since New in 1.8
+ */
+svn_prop_kind_t
+svn_property_kind2(const char *prop_name);
+
/** Return the prop kind of a property named @a prop_name, and
* (if @a prefix_len is non-@c NULL) set @a *prefix_len to the length of
* the prefix of @a prop_name that was sufficient to distinguish its kind.
+ *
+ * @deprecated Provided for backward compatibility with the 1.7 API.
*/
+SVN_DEPRECATED
svn_prop_kind_t
svn_property_kind(int *prefix_len,
const char *prop_name);
Modified: subversion/trunk/subversion/libsvn_client/merge.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/merge.c?rev=1302565&r1=1302564&r2=1302565&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/merge.c (original)
+++ subversion/trunk/subversion/libsvn_client/merge.c Mon Mar 19 17:48:43 2012
@@ -1738,13 +1738,13 @@ merge_file_added(svn_wc_notify_state_t *
merge-from-foreign-repository scenario) or wrong place in the
right repository (in the same-repos scenario). So we'll
strip them. (Is this a layering violation?) */
- if (svn_property_kind(NULL, prop->name) == svn_prop_wc_kind)
+ if (svn_property_kind2(prop->name) == svn_prop_wc_kind)
continue;
/* And in the foreign repository merge case, we only want
regular properties. */
if ((! merge_b->same_repos)
- && (svn_property_kind(NULL, prop->name) != svn_prop_regular_kind))
+ && (svn_property_kind2(prop->name) != svn_prop_regular_kind))
continue;
/* Issue #3383: We don't want mergeinfo from a foreign repository. */
Modified: subversion/trunk/subversion/libsvn_client/prop_commands.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/prop_commands.c?rev=1302565&r1=1302564&r2=1302565&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/prop_commands.c (original)
+++ subversion/trunk/subversion/libsvn_client/prop_commands.c Mon Mar 19 17:48:43 2012
@@ -75,7 +75,7 @@ is_revision_prop_name(const char *name)
static svn_error_t *
error_if_wcprop_name(const char *name)
{
- if (svn_property_kind(NULL, name) == svn_prop_wc_kind)
+ if (svn_property_kind2(name) == svn_prop_wc_kind)
{
return svn_error_createf
(SVN_ERR_CLIENT_PROPERTY_NAME, NULL,
@@ -162,7 +162,7 @@ propset_on_url(const char *propname,
svn_client_ctx_t *ctx,
apr_pool_t *pool)
{
- enum svn_prop_kind prop_kind = svn_property_kind(NULL, propname);
+ enum svn_prop_kind prop_kind = svn_property_kind2(propname);
svn_ra_session_t *ra_session;
svn_node_kind_t node_kind;
const char *message;
@@ -980,7 +980,7 @@ remote_proplist(const char *target_prefi
svn_string_t *value = svn__apr_hash_index_val(hi);
svn_prop_kind_t prop_kind;
- prop_kind = svn_property_kind(NULL, name);
+ prop_kind = svn_property_kind2(name);
if (prop_kind == svn_prop_regular_kind)
{
Modified: subversion/trunk/subversion/libsvn_repos/fs-wrap.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_repos/fs-wrap.c?rev=1302565&r1=1302564&r2=1302565&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_repos/fs-wrap.c (original)
+++ subversion/trunk/subversion/libsvn_repos/fs-wrap.c Mon Mar 19 17:48:43 2012
@@ -162,7 +162,7 @@ svn_repos__validate_prop(const char *nam
const svn_string_t *value,
apr_pool_t *pool)
{
- svn_prop_kind_t kind = svn_property_kind(NULL, name);
+ svn_prop_kind_t kind = svn_property_kind2(name);
/* Disallow setting non-regular properties. */
if (kind != svn_prop_regular_kind)
Modified: subversion/trunk/subversion/libsvn_subr/properties.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/properties.c?rev=1302565&r1=1302564&r2=1302565&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_subr/properties.c (original)
+++ subversion/trunk/subversion/libsvn_subr/properties.c Mon Mar 19 17:48:43 2012
@@ -62,31 +62,42 @@ svn_prop_has_svn_prop(const apr_hash_t *
}
+#define SIZEOF_WC_PREFIX (sizeof(SVN_PROP_WC_PREFIX) - 1)
+#define SIZEOF_ENTRY_PREFIX (sizeof(SVN_PROP_ENTRY_PREFIX) - 1)
+
+svn_prop_kind_t
+svn_property_kind2(const char *prop_name)
+{
+
+ if (strncmp(prop_name, SVN_PROP_WC_PREFIX, SIZEOF_WC_PREFIX) == 0)
+ return svn_prop_wc_kind;
+
+ if (strncmp(prop_name, SVN_PROP_ENTRY_PREFIX, SIZEOF_ENTRY_PREFIX) == 0)
+ return svn_prop_entry_kind;
+
+ return svn_prop_regular_kind;
+}
+
+
+/* NOTE: this function is deprecated, but we cannot move it to deprecated.c
+ because we need the SIZEOF_*_PREFIX constant symbols defined above. */
svn_prop_kind_t
svn_property_kind(int *prefix_len,
const char *prop_name)
{
- apr_size_t wc_prefix_len = sizeof(SVN_PROP_WC_PREFIX) - 1;
- apr_size_t entry_prefix_len = sizeof(SVN_PROP_ENTRY_PREFIX) - 1;
+ svn_prop_kind_t kind = svn_property_kind2(prop_name);
- if (strncmp(prop_name, SVN_PROP_WC_PREFIX, wc_prefix_len) == 0)
- {
- if (prefix_len)
- *prefix_len = (int) wc_prefix_len;
- return svn_prop_wc_kind;
- }
-
- if (strncmp(prop_name, SVN_PROP_ENTRY_PREFIX, entry_prefix_len) == 0)
+ if (prefix_len)
{
- if (prefix_len)
- *prefix_len = (int) entry_prefix_len;
- return svn_prop_entry_kind;
+ if (kind == svn_prop_wc_kind)
+ *prefix_len = SIZEOF_WC_PREFIX;
+ else if (kind == svn_prop_entry_kind)
+ *prefix_len = SIZEOF_ENTRY_PREFIX;
+ else
+ *prefix_len = 0;
}
- /* else... */
- if (prefix_len)
- *prefix_len = 0;
- return svn_prop_regular_kind;
+ return kind;
}
Modified: subversion/trunk/subversion/libsvn_wc/props.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/props.c?rev=1302565&r1=1302564&r2=1302565&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/props.c (original)
+++ subversion/trunk/subversion/libsvn_wc/props.c Mon Mar 19 17:48:43 2012
@@ -1988,7 +1988,7 @@ svn_wc_prop_get2(const svn_string_t **va
apr_pool_t *result_pool,
apr_pool_t *scratch_pool)
{
- enum svn_prop_kind kind = svn_property_kind(NULL, name);
+ enum svn_prop_kind kind = svn_property_kind2(name);
SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
@@ -2014,7 +2014,7 @@ svn_wc__internal_propget(const svn_strin
apr_pool_t *scratch_pool)
{
apr_hash_t *prophash = NULL;
- enum svn_prop_kind kind = svn_property_kind(NULL, name);
+ enum svn_prop_kind kind = svn_property_kind2(name);
svn_boolean_t hidden;
SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
@@ -2429,7 +2429,7 @@ svn_wc_prop_set4(svn_wc_context_t *wc_ct
void *notify_baton,
apr_pool_t *scratch_pool)
{
- enum svn_prop_kind prop_kind = svn_property_kind(NULL, name);
+ enum svn_prop_kind prop_kind = svn_property_kind2(name);
svn_kind_t kind;
const char *dir_abspath;
@@ -2609,7 +2609,7 @@ svn_wc_canonicalize_svn_prop(const svn_s
svn_boolean_t
svn_wc_is_normal_prop(const char *name)
{
- enum svn_prop_kind kind = svn_property_kind(NULL, name);
+ enum svn_prop_kind kind = svn_property_kind2(name);
return (kind == svn_prop_regular_kind);
}
@@ -2617,7 +2617,7 @@ svn_wc_is_normal_prop(const char *name)
svn_boolean_t
svn_wc_is_wc_prop(const char *name)
{
- enum svn_prop_kind kind = svn_property_kind(NULL, name);
+ enum svn_prop_kind kind = svn_property_kind2(name);
return (kind == svn_prop_wc_kind);
}
@@ -2625,7 +2625,7 @@ svn_wc_is_wc_prop(const char *name)
svn_boolean_t
svn_wc_is_entry_prop(const char *name)
{
- enum svn_prop_kind kind = svn_property_kind(NULL, name);
+ enum svn_prop_kind kind = svn_property_kind2(name);
return (kind == svn_prop_entry_kind);
}
Modified: subversion/trunk/subversion/libsvn_wc/update_editor.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/update_editor.c?rev=1302565&r1=1302564&r2=1302565&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/update_editor.c (original)
+++ subversion/trunk/subversion/libsvn_wc/update_editor.c Mon Mar 19 17:48:43 2012
@@ -2541,7 +2541,7 @@ change_dir_prop(void *dir_baton,
propchange->name = apr_pstrdup(db->pool, name);
propchange->value = value ? svn_string_dup(value, db->pool) : NULL;
- if (!db->edited && svn_property_kind(NULL, name) == svn_prop_regular_kind)
+ if (!db->edited && svn_property_kind2(name) == svn_prop_regular_kind)
SVN_ERR(mark_directory_edited(db, pool));
return SVN_NO_ERROR;
@@ -3724,7 +3724,7 @@ change_file_prop(void *file_baton,
propchange->name = apr_pstrdup(fb->pool, name);
propchange->value = value ? svn_string_dup(value, fb->pool) : NULL;
- if (!fb->edited && svn_property_kind(NULL, name) == svn_prop_regular_kind)
+ if (!fb->edited && svn_property_kind2(name) == svn_prop_regular_kind)
SVN_ERR(mark_file_edited(fb, scratch_pool));
return SVN_NO_ERROR;
Modified: subversion/trunk/subversion/svnrdump/dump_editor.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/svnrdump/dump_editor.c?rev=1302565&r1=1302564&r2=1302565&view=diff
==============================================================================
--- subversion/trunk/subversion/svnrdump/dump_editor.c (original)
+++ subversion/trunk/subversion/svnrdump/dump_editor.c Mon Mar 19 17:48:43 2012
@@ -676,7 +676,7 @@ change_dir_prop(void *parent_baton,
LDR_DBG(("change_dir_prop %p\n", parent_baton));
- if (svn_property_kind(NULL, name) != svn_prop_regular_kind)
+ if (svn_property_kind2(name) != svn_prop_regular_kind)
return SVN_NO_ERROR;
if (value)
@@ -718,7 +718,7 @@ change_file_prop(void *file_baton,
LDR_DBG(("change_file_prop %p\n", file_baton));
- if (svn_property_kind(NULL, name) != svn_prop_regular_kind)
+ if (svn_property_kind2(name) != svn_prop_regular_kind)
return SVN_NO_ERROR;
if (value)
Modified: subversion/trunk/subversion/svnrdump/load_editor.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/svnrdump/load_editor.c?rev=1302565&r1=1302564&r2=1302565&view=diff
==============================================================================
--- subversion/trunk/subversion/svnrdump/load_editor.c (original)
+++ subversion/trunk/subversion/svnrdump/load_editor.c Mon Mar 19 17:48:43 2012
@@ -876,7 +876,7 @@ remove_node_props(void *baton)
for (hi = apr_hash_first(pool, props); hi; hi = apr_hash_next(hi))
{
const char *name = svn__apr_hash_index_key(hi);
- svn_prop_kind_t kind = svn_property_kind(NULL, name);
+ svn_prop_kind_t kind = svn_property_kind2(name);
if (kind == svn_prop_regular_kind)
SVN_ERR(set_node_property(nb, name, NULL));
Modified: subversion/trunk/subversion/svnsync/sync.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/svnsync/sync.c?rev=1302565&r1=1302564&r2=1302565&view=diff
==============================================================================
--- subversion/trunk/subversion/svnsync/sync.c (original)
+++ subversion/trunk/subversion/svnsync/sync.c Mon Mar 19 17:48:43 2012
@@ -386,7 +386,7 @@ change_file_prop(void *file_baton,
edit_baton_t *eb = fb->edit_baton;
/* only regular properties can pass over libsvn_ra */
- if (svn_property_kind(NULL, name) != svn_prop_regular_kind)
+ if (svn_property_kind2(name) != svn_prop_regular_kind)
return SVN_NO_ERROR;
/* Maybe drop svn:mergeinfo. */
@@ -434,7 +434,7 @@ change_dir_prop(void *dir_baton,
edit_baton_t *eb = db->edit_baton;
/* Only regular properties can pass over libsvn_ra */
- if (svn_property_kind(NULL, name) != svn_prop_regular_kind)
+ if (svn_property_kind2(name) != svn_prop_regular_kind)
return SVN_NO_ERROR;
/* Maybe drop svn:mergeinfo. */