Author: stsp
Date: Thu Jun 25 16:28:17 2015
New Revision: 1687574
URL: http://svn.apache.org/r1687574
Log:
Add new svn_client_conflict_get_conflicted() API function.
* subversion/include/svn_client.h
(svn_client_conflict_get_conflicted): Declare.
* subversion/libsvn_client/resolved.c
(svn_client_conflict_get_conflicted): Implement.
Modified:
subversion/trunk/subversion/include/svn_client.h
subversion/trunk/subversion/libsvn_client/resolved.c
Modified: subversion/trunk/subversion/include/svn_client.h
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_client.h?rev=1687574&r1=1687573&r2=1687574&view=diff
==============================================================================
--- subversion/trunk/subversion/include/svn_client.h (original)
+++ subversion/trunk/subversion/include/svn_client.h Thu Jun 25 16:28:17 2015
@@ -4388,6 +4388,25 @@ svn_client_conflict_from_wc_description2
apr_pool_t *scratch_pool);
/**
+* Indicate the types of conflicts present on the working copy node
+* described by @a conflict. Any output argument may be @c NULL if
+* the caller is not interested in the status of a particular type.
+*
+* The returned @a *props_conflicted array is allocated in @a result_pool.
+* It contains the names of conflicted properties. If no property conflit
+* exists, the array will contain no elements.
+*
+* @since New in 1.10.
+*/
+svn_error_t *
+svn_client_conflict_get_conflicted(svn_boolean_t *text_conflicted,
+ apr_array_header_t **props_conflicted,
+ svn_boolean_t *tree_conflicted,
+ svn_client_conflict_t *conflict,
+ apr_pool_t *result_pool,
+ apr_pool_t *scratch_pool);
+
+/**
* Return the kind of conflict (text conflict, property conflict,
* or tree conflict) represented by @a conflict.
*
Modified: subversion/trunk/subversion/libsvn_client/resolved.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/resolved.c?rev=1687574&r1=1687573&r2=1687574&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/resolved.c (original)
+++ subversion/trunk/subversion/libsvn_client/resolved.c Thu Jun 25 16:28:17
2015
@@ -276,6 +276,37 @@ svn_client_conflict_get_kind(const svn_c
return get_conflict_desc2_t(conflict)->kind;
}
+svn_error_t *
+svn_client_conflict_get_conflicted(svn_boolean_t *text_conflicted,
+ apr_array_header_t **props_conflicted,
+ svn_boolean_t *tree_conflicted,
+ svn_client_conflict_t *conflict,
+ apr_pool_t *result_pool,
+ apr_pool_t *scratch_pool)
+{
+ if (text_conflicted)
+ *text_conflicted = (conflict->legacy_text_conflict != NULL);
+
+ if (props_conflicted)
+ {
+ if (conflict->legacy_prop_conflict)
+ {
+ *props_conflicted = apr_array_make(result_pool, 1,
+ sizeof(const char*));
+ APR_ARRAY_PUSH((*props_conflicted), const char *) =
+ conflict->legacy_prop_conflict->property_name;
+ }
+ else
+ SVN_ERR(svn_hash_keys(props_conflicted, conflict->prop_conflicts,
+ result_pool));
+ }
+
+ if (tree_conflicted)
+ *tree_conflicted = (conflict->legacy_tree_conflict != NULL);
+
+ return SVN_NO_ERROR;
+}
+
const char *
svn_client_conflict_get_local_abspath(const svn_client_conflict_t *conflict)
{