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@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: s...@apache.org > Sent: woensdag 20 april 2016 19:05 > To: comm...@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), > > >