[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svn commit: r1740170 -/subversion/trunk/subversion/libsvn_client/conflicts.c

From: Stefan Sperling <stsp_at_apache.org>
Date: Thu, 21 Apr 2016 09:24:09 +0200

On Wed, Apr 20, 2016 at 10:19:56PM +0200, Bert Huijben wrote:
> The path calculation here 100% assumes that the working copy is always a clean check out from ^/. This might be the case in our test suite, but in almost every normal user scenario this isn’t the case.
>
> You can’t just calculate a repository root relative path ( ^/… ) from dirents. You always need the repos_relpath from somewhere else.
>
> And once you start looking at switched files/directories, things get even harder.
>
>
> Bert
>

I'm not sure what you mean. Perhaps you're lacking some additional
context for this diff?

What's happening here is that we show a message like:

 delete X and copy ^/Y_at_Z here

where X is a local conflicted path (taken from the local_abspath which is
being resolved), Y is a repos-relpath stored in the conflict descriptor,
and Z is a peg revision stored in the conflict descriptor.

Assuming Y and Z were stored correctly when the conflict was created (the
conflict resolver has no reason to assume otherwise), I don't see where
this extrapolates a local path to a repostory path.

Can you elaborate? Are you saying that's wrong to say "delete X" because
X might not come from path ^/somewhere/X in the repository?

> From: stsp_at_apache.org
> Sent: woensdag 20 april 2016 19:05
> To: commits_at_subversion.apache.org
> Subject: svn commit: r1740170 -/subversion/trunk/subversion/libsvn_client/conflicts.c
>
> Author: stsp
> Date: Wed Apr 20 17:05:04 2016
> New Revision: 1740170
>
> URL: http://svn.apache.org/viewvc?rev=1740170&view=rev
> Log:
> * subversion/libsvn_client/conflicts.c
> (configure_option_merge_incoming_added_file_replace): Tweak this resolution
> option's description slightly.
>
> Modified:
> subversion/trunk/subversion/libsvn_client/conflicts.c
>
> Modified: subversion/trunk/subversion/libsvn_client/conflicts.c
> URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/conflicts.c?rev=1740170&r1=1740169&r2=1740170&view=diff
> ==============================================================================
> --- subversion/trunk/subversion/libsvn_client/conflicts.c (original)
> +++ subversion/trunk/subversion/libsvn_client/conflicts.c Wed Apr 20 17:05:04 2016
> @@ -4527,7 +4527,7 @@ configure_option_merge_incoming_added_fi
> conflict->local_abspath, scratch_pool,
> scratch_pool));
> option->description =
> - apr_psprintf(options->pool, _("delete '%s', copy '^/%s@%ld' here"),
> + apr_psprintf(options->pool, _("delete '%s' and copy '^/%s@%ld' here"),
> svn_dirent_local_style(
> svn_dirent_skip_ancestor(wcroot_abspath,
> conflict->local_abspath),
>
>
>
Received on 2016-04-21 09:24:22 CEST

This is an archived mail posted to the Subversion Dev mailing list.