subversion-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefan Sperling <s...@elego.de>
Subject Re: Deprecation of svn_client_resolve() leaves loose ends
Date Mon, 18 Apr 2016 08:28:42 GMT
On Sun, Apr 17, 2016 at 06:47:35PM +0200, Branko ─îibej wrote:
> I've been looking at and fixing new compile-time warnings on trunk, and
> noticed that the svn_client_resolve() function was deprecated in
> r1730495 in favour of three new functions that are specialised for text,
> property or tree conflict resolution.
> 
> This change causes a deprecation warning to be emitted in
> svn_cl__resolved(); and I'm fairly sure we shouldn't be calling
> deprecated functions in the command-line client. (The warning probably
> gets emitted from JavaHL too, but I haven't checked that.)
> 
> This causes me to wonder if deprecating svn_client_resolve() is really
> such a good idea. It forces API users to jump through hoops to discover
> the conflict type(s) and then calling up to three functions to mark the
> conflict(s) resolved instead of just one; effectively changing a
> one-liner to an unwieldy bunch of code.

I agree that, for non-interactive clients, calling 'svn_client_resolve()'
is easier. Also, the new API has no equivalent for the 'depth' parameter of
svn_client_resolve().

How about this?

Index: subversion/include/svn_client.h
===================================================================
--- subversion/include/svn_client.h	(revision 1739704)
+++ subversion/include/svn_client.h	(working copy)
@@ -4977,12 +4977,13 @@ svn_client_resolved(const char *path,
  * Note that this operation will try to lock the parent directory of
  * @a path in order to be able to resolve tree-conflicts on @a path.
  *
+ * This function is recommended for non-interactive use only.
+ * If performing interactive conflict resolution based on user input, use
+ * svn_client_conflict_text_resolve() , svn_client_conflict_prop_resolve(),
+ * and svn_client_conflict_tree_resolve() instead.
+ *
  * @since New in 1.5.
- * @deprecated Provided for backward compatibility with the 1.9 API.
- * Use svn_client_conflict_text_resolve() , svn_client_conflict_prop_resolve(),
- * and svn_client_conflict_tree_resolve() instead.
  */
-SVN_DEPRECATED
 svn_error_t *
 svn_client_resolve(const char *path,
                    svn_depth_t depth,

Mime
View raw message