0
votes

So, we have a fairly complex repository layout, the results of the move operation performed here:

svn.contoso.com/root_repository_path/
    |- project1
    |- project2
    |    |- subprojectA
    |    |- subprojectB
    |- project3
    |- project4
    |-   |- subprojectA
    |-   |- subprojectB
    |    |- project5 (the project I'm on)

Each of these folders has a full trunk/branches/tags structure under it, and project5 specifically has several branches, all of which date back before the fellow developer from the linked question reorganized the repository. Now, I need to merge a branch (let's call it the shiny-feature branch) back into another, 'parent' branch; thing is, (Tortoise)SVN gets confused when I try to merge the full revision range for the shiny-feature branch into the parent branch, giving me an error of the form:

'/svn/root_repository_path/!svn/bc/5555/project5/branches/shiny-feature' path not found

where 5555 is the current revision the repository is at. Trying to merge just the revision that moved the branch yields a no-op merge, while excluding the branch-moving revision yields the exact same error as above.

How am I supposed to get this branch merged back in?

2

2 Answers

0
votes

First, is that branch visible elsewhere in your tree? If I understand correctly, project5 was moved from the root of the repository tree to under project4 where did its branches go?

Subversion usually doesn't have too many issues with merging when a branch itself is merged because it can easily walk down the tree from the old location to the new location. If `project5 still has it branches under it, this should be fine:

$ svn co $RSVP_URL/project4/project5/trunk project5-trunk
$ cd project5-trunk
$ svn merge $RSVP_URL/project4/project5/branches/shiny-feature

If that branch is no longer visible in your most recent revision of the tree, you have to resurrect it via svn cp:

$ svn cp -r4321 $REPO_URL/project5/branches/shiny-feature@4321 \
    $REPO_URL/project4/branches/shiny-feature

The @4321 is a pin revision. You're saying you're interested in how the revision looked in revision before the shiny-feature branch was deleted. The -r4321 says the revision you're copying of that shiny-branch.

0
votes

It turns out that this error was actually due to TortoiseSVN pre-filling the old path to the branch:

$REPO_URL/project4/branches/shiny-feature

instead of the current path to the branch:

$REPO_URL/project4/project5/branches/shiny_feature

Fixing this enabled the merge to work without an issue.