Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 058AF200C14 for ; Tue, 7 Feb 2017 22:30:30 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 04293160B3E; Tue, 7 Feb 2017 21:30:30 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 2A41E160B32 for ; Tue, 7 Feb 2017 22:30:29 +0100 (CET) Received: (qmail 34314 invoked by uid 500); 7 Feb 2017 21:30:28 -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 34304 invoked by uid 99); 7 Feb 2017 21:30:28 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 07 Feb 2017 21:30:28 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 94F3018C401 for ; Tue, 7 Feb 2017 21:30:27 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 0.698 X-Spam-Level: X-Spam-Status: No, score=0.698 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, KAM_ASCII_DIVIDERS=0.8, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd3-us-west.apache.org (amavisd-new); dkim=pass (1024-bit key) header.d=visualsvn.com Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id 1oqcbmOk60m4 for ; Tue, 7 Feb 2017 21:30:26 +0000 (UTC) Received: from mail-qk0-f171.google.com (mail-qk0-f171.google.com [209.85.220.171]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTPS id D6ABA5F570 for ; Tue, 7 Feb 2017 21:30:25 +0000 (UTC) Received: by mail-qk0-f171.google.com with SMTP id s186so102667012qkb.1 for ; Tue, 07 Feb 2017 13:30:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=visualsvn.com; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=IM8X+vxcvl+fiTH6wluUfvLOYclQpKzZh9JcFlUTCWk=; b=f3DImUAP3aGr6mw+lYhiGgsE4MHBOGhRV8jhU8zye1ab7SRh0I/z88YYfNVYgk4Qsg zBigojncuFvK4vtM32OKI+eWT1yQ5JUUoDunpwxVixRtATzrRni5pB9BNO0Y+AmFIyK9 WcqYXxrk/FeoraJJOSN3MRrJuWvFgFXVY3rnQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=IM8X+vxcvl+fiTH6wluUfvLOYclQpKzZh9JcFlUTCWk=; b=t7hdLQrLjSK2xzPr+ZbsVhTGtAu8rvac3IF2ovZGFtm5u+eCBIN4zk2+hTlKEWv7EI Ooi5DYHydDcTJAfYDYNB8DzMPjEg6JNSozbTHg9BOz/kPGr331KUExK34OSYcOptLmnz hGOT6BK5O/dv4SClGU+E7rXfgPPbGFFsXDQu/g77EWaSXSAgUYGwBMxEyCIpa8cNmU9L xlxCW3xh781kxmPy+7/W4+rAtx2g+76mMO5UHu8dQp5OvYPpYFXxlUqCOwraNFQrHeCI QXS1u4w7736hJPTjoiro/ktwimmh5tammt188PE1lx/Gd7W4ofqQvGOchNLDoEn5Em1e 93KA== X-Gm-Message-State: AMke39mClufyKTnu3mgDpNuCea5mUKq18iB2ncDdstEY9NiW5A3K4GF2hnBvVnPIMIDGk7cGk4rEMBPqnJy0Zhdd X-Received: by 10.55.72.141 with SMTP id v135mr16219892qka.182.1486503024001; Tue, 07 Feb 2017 13:30:24 -0800 (PST) MIME-Version: 1.0 Received: by 10.12.148.252 with HTTP; Tue, 7 Feb 2017 13:30:03 -0800 (PST) In-Reply-To: <20170207203444.gnwvdbq7eqrckbsk@jim.stsp.name> References: <6a1d3ef8-8888-5ca4-f036-f33fa4c078c7@gmail.com> <20170204182149.r3uk7k7nl3b7mmqo@jim.stsp.name> <20170204185242.dxiabcuzl5rxnzvg@jim.stsp.name> <20170206121955.wkpqq2flqoj24jr5@jim.stsp.name> <5511092b-2416-d681-14b1-5995f16cbf57@gmail.com> <20170207083733.GC74872@ted.stsp.name> <7d555894-1245-69d2-56fb-050dbfa305ff@gmail.com> <20170207203444.gnwvdbq7eqrckbsk@jim.stsp.name> From: Evgeny Kotkov Date: Wed, 8 Feb 2017 00:30:03 +0300 Message-ID: Subject: Re: wish for new API or extended one To: Stefan Sperling Cc: Stefan Kueng , Subversion Development Content-Type: text/plain; charset=UTF-8 archived-at: Tue, 07 Feb 2017 21:30:30 -0000 Stefan Sperling writes: > I'm guessing that you are mixing up repository paths and working copy paths. > Perhaps your expectation is that a repository-side path in the conflict > description is changed by svn_client_conflict_option_set_moved_to_abspath()? > If you do, then the API's behaviour will seem confusing indeed. I think that the actual problem here is that calling the svn_client_conflict_option_set_moved_to_repos_relpath() function does not update the description (and the target path in the description could have changed). In other words, probably we're looking at something along these lines: [[[ Index: subversion/include/svn_client.h =================================================================== --- subversion/include/svn_client.h (revision 1782081) +++ subversion/include/svn_client.h (working copy) @@ -4495,6 +4495,7 @@ svn_error_t * svn_client_conflict_option_set_moved_to_repos_relpath( svn_client_conflict_option_t *option, int preferred_move_target_idx, + svn_client_ctx_t *ctx, apr_pool_t *scratch_pool); /** Index: subversion/libsvn_client/conflicts.c =================================================================== --- subversion/libsvn_client/conflicts.c (revision 1782081) +++ subversion/libsvn_client/conflicts.c (working copy) @@ -9414,6 +9414,7 @@ svn_error_t * svn_client_conflict_option_set_moved_to_repos_relpath( svn_client_conflict_option_t *option, int preferred_move_target_idx, + svn_client_ctx_t *ctx, apr_pool_t *scratch_pool) { svn_client_conflict_t *conflict = option->conflict; @@ -9466,6 +9467,14 @@ svn_client_conflict_option_set_moved_to_repos_relp if (strcmp(move_target_repos_relpath, repos_relpath) == 0) { details->move_target_repos_relpath = repos_relpath; + /* Update option description. */ + SVN_ERR(describe_incoming_move_merge_conflict_option( + &option->description, + conflict, ctx, + details, + conflict->pool, + scratch_pool)); + return SVN_NO_ERROR; } } Index: subversion/svn/conflict-callbacks.c =================================================================== --- subversion/svn/conflict-callbacks.c (revision 1782081) +++ subversion/svn/conflict-callbacks.c (working copy) @@ -1751,16 +1751,9 @@ handle_tree_conflict(svn_boolean_t *resolved, if (conflict_option) { SVN_ERR(svn_client_conflict_option_set_moved_to_repos_relpath( - conflict_option, preferred_move_target_idx, iterpool)); + conflict_option, preferred_move_target_idx, + ctx, iterpool)); - /* Update option description. */ - SVN_ERR(build_tree_conflict_options( - &tree_conflict_options, - &possible_moved_to_repos_relpaths, - &possible_moved_to_abspaths, - NULL, conflict, ctx, - scratch_pool, scratch_pool)); - /* Update conflict description. */ SVN_ERR(svn_client_conflict_tree_get_description( &incoming_change_description, &local_change_description, ]]] Regards, Evgeny Kotkov