You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Stefan Sperling <st...@elego.de> on 2008/08/22 12:10:16 UTC

possible bug: 'working copy path does not exist' during merge

Hello everyone,

while walking Subversion-1.5.1 through a couple of tree-conflict cases,
I found what I think is a bug (more so than the general utter lack of
tree-conflict handling, anyway ;)

The attached script reproduces a merge that cannot be run
because it fails with:
"svn: Working copy path 'alpha.copied' does not exist in repository"

The problem reproduces in trunk.

Similar errors have been reported up a few times already, recently
on users@ in a thread I replied to:
http://subversion.tigris.org/servlets/ReadMsg?list=users&msgNo=81418
That might be a different instance of this problem, I'm not sure.
The starter of that thread is in Cc.

And even back in 2006 (where another instance of this problem
was apparently fixed):
http://svn.haxx.se/dev/archive-2006-03/0797.shtml

I don't have time to dig into this deeply right now, but will
likely do so eventually in case no one else beats me to it.
But I think the bug is interesting enough to share with anyone
who'd potentialy like to look at this in the mean time, i.e.
anyone reading this list :)

Thanks,
Stefan


Re: possible bug: 'working copy path does not exist' during merge

Posted by Paul Burba <pt...@gmail.com>.
On Fri, Aug 22, 2008 at 1:28 PM, Stefan Sperling <st...@elego.de> wrote:
> On Fri, Aug 22, 2008 at 09:16:41AM -0400, Paul Burba wrote:
>> On Fri, Aug 22, 2008 at 8:17 AM, Stefan Sperling <st...@elego.de> wrote:
>> > On Fri, Aug 22, 2008 at 02:10:16PM +0200, Stefan Sperling wrote:
>> >> The attached script reproduces a merge that cannot be run
>> >> because it fails with:
>> >> "svn: Working copy path 'alpha.copied' does not exist in repository"
>> >
>> > The script has a small comment typo:
>> >
>> > # In the branch, move a file different to the copy target path
>> >
>> > Should of course be:
>> >
>> > # In the branch, move a different file to the copy target path
>> >
>> > Just to prevent potential confusion,
>> > Stefan
>>
>> Stefan,
>>
>> This looks like another instance of issue #3067.  I'm currently
>> looking into another similar problem that Hyrum encountered and will
>> look into this also.  More soon...
>
> FYI, the same thing happens when the file is moved in trunk.
> So the script patched as follows also reproduces the problem:
>
> --- svn-merge-wc-path-does-not-exist-in-repo-issue.sh   2008-08-22 13:54:26.000000000 +0200
> +++ svn-merge-wc-path-does-not-exist-in-repo-issue2.sh  2008-08-22 19:22:55.000000000 +0200
> @@ -26,12 +26,12 @@
>  svn checkout $trunk_url $trunk
>  svn checkout $branch_url $branch
>
> -# Copy a file in trunk
> -svn copy $trunk/alpha $trunk/alpha.copied
> -svn commit -m "copied alpha" $trunk
> +# Move a file in trunk
> +svn move $trunk/alpha $trunk/alpha.moved
> +svn commit -m "moved alpha" $trunk
>
>  # In the branch, move a file different to the copy target path.
> -svn mv $branch/beta $branch/alpha.copied
> +svn mv $branch/beta $branch/alpha.moved
>  # Committing here does not affect the result!
>
>  # Merge the copy into the branch
>
>
> Which, of course, isn't surprising given the way we implement moves.
>
> I still wanted to point this out because knowing all the different
> ways our users can run into this problem helps us recognising
> problem reports as such.
>
> Stefan

Hi Stefan,

The issue-3067-deleted-subtrees branch, which I hope to merge back to
trunk this week, fixes the problems demonstrated by your two script
variants.  "Fixes" to the extent that the "svn: Working copy path
'alpha.copied' does not exist in repository" error no longer occurs
and the merge proceeds.  There is still a text and tree conflict (this
is with your first script)...

3067>svn merge %sperling_ex_url%/trunk
svn-merge-wc-path-does-not-exist-in-repo-issue\branch
Conflict discovered in
'svn-merge-wc-path-does-not-exist-in-repo-issue/branch/alpha.copied'.
Select: (p) postpone, (df) diff-full, (e) edit,
        (mc) mine-conflict, (tc) theirs-conflict,
        (s) show all options: p
--- Merging r2 through r3 into
'svn-merge-wc-path-does-not-exist-in-repo-issue\branch':
C    svn-merge-wc-path-does-not-exist-in-repo-issue\branch\alpha.copied
C    svn-merge-wc-path-does-not-exist-in-repo-issue\branch
Summary of conflicts:
  Text conflicts: 1
  Tree conflicts: 1

...but this seems to me to be the correct tree-conflict behavior.
Does that look correct to you?

Paul

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: possible bug: 'working copy path does not exist' during merge

Posted by Stefan Sperling <st...@elego.de>.
On Fri, Aug 22, 2008 at 09:16:41AM -0400, Paul Burba wrote:
> On Fri, Aug 22, 2008 at 8:17 AM, Stefan Sperling <st...@elego.de> wrote:
> > On Fri, Aug 22, 2008 at 02:10:16PM +0200, Stefan Sperling wrote:
> >> The attached script reproduces a merge that cannot be run
> >> because it fails with:
> >> "svn: Working copy path 'alpha.copied' does not exist in repository"
> >
> > The script has a small comment typo:
> >
> > # In the branch, move a file different to the copy target path
> >
> > Should of course be:
> >
> > # In the branch, move a different file to the copy target path
> >
> > Just to prevent potential confusion,
> > Stefan
> 
> Stefan,
> 
> This looks like another instance of issue #3067.  I'm currently
> looking into another similar problem that Hyrum encountered and will
> look into this also.  More soon...

FYI, the same thing happens when the file is moved in trunk.
So the script patched as follows also reproduces the problem:

--- svn-merge-wc-path-does-not-exist-in-repo-issue.sh	2008-08-22 13:54:26.000000000 +0200
+++ svn-merge-wc-path-does-not-exist-in-repo-issue2.sh	2008-08-22 19:22:55.000000000 +0200
@@ -26,12 +26,12 @@
 svn checkout $trunk_url $trunk
 svn checkout $branch_url $branch
 
-# Copy a file in trunk
-svn copy $trunk/alpha $trunk/alpha.copied
-svn commit -m "copied alpha" $trunk
+# Move a file in trunk
+svn move $trunk/alpha $trunk/alpha.moved
+svn commit -m "moved alpha" $trunk
 
 # In the branch, move a file different to the copy target path.
-svn mv $branch/beta $branch/alpha.copied
+svn mv $branch/beta $branch/alpha.moved
 # Committing here does not affect the result!
 
 # Merge the copy into the branch


Which, of course, isn't surprising given the way we implement moves.

I still wanted to point this out because knowing all the different
ways our users can run into this problem helps us recognising
problem reports as such.

Stefan

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: possible bug: 'working copy path does not exist' during merge

Posted by Paul Burba <pt...@gmail.com>.
On Fri, Aug 22, 2008 at 8:17 AM, Stefan Sperling <st...@elego.de> wrote:
> On Fri, Aug 22, 2008 at 02:10:16PM +0200, Stefan Sperling wrote:
>> The attached script reproduces a merge that cannot be run
>> because it fails with:
>> "svn: Working copy path 'alpha.copied' does not exist in repository"
>
> The script has a small comment typo:
>
> # In the branch, move a file different to the copy target path
>
> Should of course be:
>
> # In the branch, move a different file to the copy target path
>
> Just to prevent potential confusion,
> Stefan

Stefan,

This looks like another instance of issue #3067.  I'm currently
looking into another similar problem that Hyrum encountered and will
look into this also.  More soon...

Paul

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: possible bug: 'working copy path does not exist' during merge

Posted by Stefan Sperling <st...@elego.de>.
On Fri, Aug 22, 2008 at 02:10:16PM +0200, Stefan Sperling wrote:
> The attached script reproduces a merge that cannot be run
> because it fails with:
> "svn: Working copy path 'alpha.copied' does not exist in repository"

The script has a small comment typo:

# In the branch, move a file different to the copy target path

Should of course be:

# In the branch, move a different file to the copy target path

Just to prevent potential confusion,
Stefan

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org