Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Unfixable mixed-revision working copy in SVN

Tags:

I have a branch checkout that is clean (no modifications), but I cannot reintegrate the trunk back into my branch, because SVN thinks I have a mixed-revision working copy:

c:\myproject> svnversion
2045:2047

The problem seems to be caused by one of my externals:

c:\myproject> svn propget svn:externals tools
-r1448 ^/tools/external/trunk/gandalf/bin gandalf/bin
-r1508 ^/tools/external/trunk/gandalf/include gandalf/include
-r1508 ^/tools/external/trunk/gandalf/lib gandalf/lib
-r1428 ^/tools/external/trunk/jsdb jsdb
-r2045 ^/tools/external/trunk/java/lib/jing.jar jing.jar

You will note that all of them are directory externals rather than single-file externals, except for jing.jar, which is the same version as what "svnversion" thinks is the lowest range of my working copy, which is supposed to be a clean checkout of r2047.

How do I fix this (besides not using the single-file external)?

I've tried doing updates, fresh checkouts, and svn cleanup, and it still has this problem. I'm using TortoiseSVN 1.6.12

like image 994
Jason S Avatar asked Feb 18 '11 20:02

Jason S


People also ask

What is a mixed revision working copy?

As a general principle, Subversion tries to be as flexible as possible. One special kind of flexibility is the ability to have a working copy containing files and directories with a mix of different working revision numbers.

What does SVN update do?

svn update brings changes from the repository into your working copy. If no revision is given, it brings your working copy up-to-date with the HEAD revision. Otherwise, it synchronizes the working copy to the revision given by the --revision option.


1 Answers

Looks like you're not the only one with this problem.

The fix is to use the equivalent of svn update --ignore-externals

See here: Reintegrate a branch with externals fails in SVN

like image 64
tangentstorm Avatar answered Oct 02 '22 21:10

tangentstorm