Cannot reintegrate into mixed revision working copy try updating first
After running the prior example, your branch working copy now contains new local modifications, and these edits are duplications of all of the changes that have happened on the trunk since you first created your branch: $ svn diff --depth empty . =================================================================== --- . Even more important, this command records the changes that have been duplicated to your branch so that Subversion is aware of exactly which changes exist in each location (see the section called “Mergeinfo and Previews”).This is a critical feature that makes branch management usable; without it, users would have to manually keep notes on which sets of changes have or haven't been merged yet. You've committed more changes to your branch, and your comrades have continued to improve the trunk as well. After making changes to your branch over the past week you now find yourself with a working copy that contains a mixture of revisions (see the section called “Mixed-revision working copies”).Keep in mind that even if your server is running 1.5-1.7, you can still use a 1.8 client.This is particularly important with regard to merge tracking, because the overwhelming majority of fixes and enhancements to it are on the client side. Everyone seems to have a slightly different definition of changeset, or at least a different expectation of what it means for a version control system to have one.
I've resorted to explicitly updating my external to the same revision as the rest of the WC before merge proceeds.------------------------------------------------------------------------ $ svn log -q -r HEAD ------------------------------------------------------------------------ r351 | sally | 2013-02-16 -0500 (Sat, ) ------------------------------------------------------------------------ $ svn merge -r31 U doc/INSTALL U src/real.c U src/button.c U Makefile After any conflicts have been resolved, you can commit the merged changes to your branch.Now, to avoid accidentally trying to merge these same changes into your branch again in the future, you'll need to record the fact that you've already merged them. One of the simplest places to record this information is in the log message for the commit of the merge: revision that's already been merged in from the trunk.For projects that have a large number of contributors, it's common for most people to have working copies of the trunk.Whenever someone needs to make a long-running change that is likely to disrupt the trunk, a standard procedure is to create a private branch and commit changes there until all the work is complete.
Once again, you want to replicate the latest trunk changes to your branch and bring yourself in sync. With Subversion 1.7 and later, the $ svn up Updating '.': At revision 361.