Return-Path: X-Original-To: apmail-subversion-dev-archive@minotaur.apache.org Delivered-To: apmail-subversion-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 61BA219D54 for ; Mon, 18 Apr 2016 08:40:56 +0000 (UTC) Received: (qmail 9564 invoked by uid 500); 18 Apr 2016 08:40:56 -0000 Delivered-To: apmail-subversion-dev-archive@subversion.apache.org Received: (qmail 9500 invoked by uid 500); 18 Apr 2016 08:40:56 -0000 Mailing-List: contact dev-help@subversion.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list dev@subversion.apache.org Received: (qmail 9486 invoked by uid 99); 18 Apr 2016 08:40:55 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 18 Apr 2016 08:40:55 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 68C84C1F6A; Mon, 18 Apr 2016 08:40:55 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -0.699 X-Spam-Level: X-Spam-Status: No, score=-0.699 tagged_above=-999 required=6.31 tests=[RCVD_IN_DNSWL_LOW=-0.7, UNPARSEABLE_RELAY=0.001] autolearn=disabled Received: from mx2-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id mXnsDEJPSnEw; Mon, 18 Apr 2016 08:40:54 +0000 (UTC) Received: from einhorn.in-berlin.de (einhorn.in-berlin.de [192.109.42.8]) by mx2-lw-eu.apache.org (ASF Mail Server at mx2-lw-eu.apache.org) with ESMTPS id 1B5645F47B; Mon, 18 Apr 2016 08:40:54 +0000 (UTC) X-Envelope-From: stsp@elego.de Received: from ted.stsp.name (ted.stsp.name [217.197.84.34]) by einhorn.in-berlin.de (8.14.4/8.14.4/Debian-4+deb7u1) with ESMTP id u3I8erJQ016968 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 18 Apr 2016 10:40:53 +0200 Received: from localhost (ted.stsp.name [local]) by ted.stsp.name (OpenSMTPD) with ESMTPA id 2716f834; Mon, 18 Apr 2016 10:40:53 +0200 (CEST) Date: Mon, 18 Apr 2016 10:40:53 +0200 From: Stefan Sperling To: Branko =?utf-8?B?xIxpYmVq?= Cc: dev@subversion.apache.org Subject: Re: Deprecation of svn_client_resolve() leaves loose ends Message-ID: <20160418084053.GG11176@ted.stsp.name> Mail-Followup-To: Branko =?utf-8?B?xIxpYmVq?= , dev@subversion.apache.org References: <5713BE27.20402@apache.org> <20160418082842.GF11176@ted.stsp.name> <57149BE7.2090809@apache.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <57149BE7.2090809@apache.org> User-Agent: Mutt/1.5.24 (2015-08-30) On Mon, Apr 18, 2016 at 10:33:43AM +0200, Branko Čibej wrote: > On 18.04.2016 10:28, Stefan Sperling wrote: > > 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(). > > I find this just a bit confusing ... How can typing "svn resolved -R' at > the command prompt be considered non-interactive? How about this, then? 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. * + * To perform conflict resolution based on interactive user input + * on a per-conflict basis, 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,