13
votes

What I am doing:

  1. Apply external properties to a folder in the trunk (both single file and folder external, externals are binary files)

  2. Create a branch from the trunk and update the entire project

  3. Modify a file on the branch and commit the changes, then update the entire project.

  4. Merge -> "Reintegrate a branch" when I get to the last screen I click "test merge" and get this error:

    Error: Cannot reintegrate into mixed-revision working copy; try updating first

I update the entire project and still the same error.

Other observations:

  • If I "Merge a range of revisions" everything works fine.
  • If I remove the externals everything works fine using either "Merge a range of revisions" or "Reintegrate a branch".

How do I solve this issue?

I am using Subversion 1.6.6 with TortoiseSVN 1.6.6.

2

2 Answers

12
votes

The "mixed revision" state happen every time you do a commit. It disappears when you do an update.

When doing a merge --reintegrate, you must execute the command from a trunk checkout.

So the message "mixed revision" is most likely saying that the trunk checkout is in "mixed revision" state, not the branch you are trying to reintegrate.

This is consistent with the information you give when saying you just commited something in the trunk.

Do an update in your trunk (the trunk checkout that TortoiseSVN uses), and it should be OK.

I had the same problem and didn't understand immediately that it was the trunk which was in mixed revision, not my branch.

7
votes

I found a work-around.

  1. Get the revision number for the branch you are going to integrate.

  2. Update to revision (using TortoiseSVN), and put the branch revision in the indicated textbox.

  3. check the box -> "Omit externals"

Now go and re-integrate the branch to the trunk and all works.

Note: I tried with multiple clients, SmartSVN and TortoiseSVN. They had the same error.