开发者

Unfixable mixed-revision working copy in SVN

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:\mypr开发者_如何学编程oject> 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


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


I came to a different solution, --allow-mixed-revisions:

svn merge -c7777 https://repo/app/branches/1.0 . --allow-mixed-revisions

Ignoring externals when updating didn't fix the problem for me even if I did a completely fresh checkout.


Note that this issue has been fixed since Subversion 1.7.0. Since then svnversion (and the merge logic) ignore file externals when determining the revisions.


Even immediately after updating/pushing my entire repository, I got this error message just for trying to rename a folder. Updating the folder again right before renaming fixed this issue for me.


Same problem, my FIX relates to Best answer (but I used switch command instead of update with no externals).

I describe how to fix it with Eclipse subversion.

Unfixable mixed-revision working copy in SVN

Error in console

merge --dry-run --depth=infinity --force --ignore-ancestry -r133880:133881 svn+ssh://{svnPath} {localPath}
    svn: E195020: Cannot merge into mixed-revision working copy [133 963:133 967]; try updating first
    svn: E195020: Cannot merge into mixed-revision working copy [133 963:133 967]; try updating first
    Dry-run merge completed abnormally.

I first refreshed (Team > Switch) my local branch with Ignore externals option

Unfixable mixed-revision working copy in SVN

Output in console:

switch svn+ssh://{svnPath} {localPath} -r HEAD --depth=infinity --ignore-externals --force

Then, the merge or its dry run were successful.

merge --dry-run --depth=infinity -r133880:133881 svn+ssh://{svnPath} {localPath}
Dry-run merge complete.
    ===== File Statistics: =====
    Updated: 5

Complete before/after output in console:

merge --depth=infinity -r133956:133957 svn+ssh://{svnPath} {localPath}
    svn: E195020: Cannot merge into mixed-revision working copy [133 970:133 971]; try updating first
    svn: E195020: Cannot merge into mixed-revision working copy [133 970:133 971]; try updating first
    Merge completed abnormally.
switch svn+ssh://{svnPath} {localPath} -r HEAD --ignore-externals --force
    At revision 133971.
merge --depth=infinity -r133956:133957 svn+ssh://{svnPath} {localPath}
    --- Merging r133956 through r133957 into {localPath}
    U   {localPath}/index.html
    Merge info recorded for {localPath}
    Merge complete.
    ===== File Statistics: =====
    Updated: 1
    ==== Property Statistics: =====
    Updated: 1

Inspired by:

  • (current best answser) https://stackoverflow.com/a/5112819/912046
  • Ignore a svn:"property" while doing svn merge
  • Reintegrate a branch with externals fails in SVN
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜