tags:

views:

3944

answers:

2

Using subversion 1.5 I have branch B which was branched off of branch A. After doing work in both branches I go to merge changes from A into B (using svn merge http://path/to/A in the working directory of B) and get svn: Target path does not exist. What does this mean?

+3  A: 

It means that there was a change in a file in branch A which Subversion tried to merge into branch B, but the file does not exist in branch B, so it has nowhere to merge the change. For example:

  • Create branch B
  • Change A/README
  • Delete B/README
  • Merge A -> B

Now the change in README cannot be applied in branch B, because the file has been removed there.

EDIT: This will result in a tree conflict in Subversion 1.6.

JesperE
That makes sense. So how can you merge in cases like this?
timdisney
Well, subversion skips the files with missing targets. I'm not really sure what happens when you try to merge back, though.
JesperE
Using --ignore-ancestry removed the error for me and I was able to merge. I'm not really sure of the consequences though...
Costo
A: 

I was getting this error with svn 1.5.4 even when there were no incompatible changes. Upgrading to 1.5.5 fixed it for me.

Jon Bauman