Question

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?

Was it helpful?

Solution

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.

OTHER TIPS

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.

I had this problem because my trunk and the branch had a strange history.

Like this:

              /---------\
trunk -------+---+       +---\
                  \-----------BOOM!

Merging trunk -> branch didn't work.

Merging branch -> trunk worked though.

              /---------\
trunk -------+---+       +---+-----
                  \---------/

Probably because the trunk had better information about the last ancestor that they shared.

In my case, I wasn't ready to merge back to trunk, but I was able to create a new branch from the trunk and merge my old branch there.

              /---------\
trunk -------+---+       +---+-------
                  \           \---+--
                   \-------------/
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top