I get the error
svn: 'x' isn't in the same repository as 'y' "
during merge. What's the problem and how can I fix it ?
(I actually know the answer and posting it as soon as I am allowed by the system, so that开发者_开发技巧 it's googleable by others. I got my share of trouble finding the answer).
The problem lies in the fact the checkout information is different from what you specify in the svn merge
command. Typically, it can be either:
- the hostname is different when you did the checkout. You did the checkout as from
svn.example.com
but now you are merging by referring to an host alias, likesvn-alias.example.com
. note that even the case is important. You can get this error if you dosvn merge
fromSVN.EXAMPLE.COM
. More on this here and here. - the protocol is different from what you used for the checkout. E.g. http://svn.example.com versus https://svn.example.com Make sure you use the same protocol.
- you are specifying a username at
svn merge
in the formuser@svn.example.com
. Try to remove theuser@
specification (the user is passed anyway). svn considers the hostname, and thus the repo, different if you specify the user, even if the user is technically the same.
this is very much case sensitive. Sometimes if you right click in any branch and click merge https://mysite.com/svn/MYREPO/trunk as merge from . But my branch name has small letters for myrepo https://mysite.com/svn/myrepo/branches/mybranch. this cause me error surely check the case sensitivenes.. If its not matching type in the wizard correctly
The merge is case sensitive. Ensure when you do the initial checkout ensure that the name and case are the same. For example, if you checkout to "http:///ABC" ensure you enter "http:///ABC", not "http:///abc" in the "URL to merge from".
You can also get this error if both repositories, despite being separate, have the same UUID. Easily resolved by using the 'svnadmin setuuid' command on one of them.
I just have the same problem and I just cleared the port input and it works
精彩评论