Error in using the SVN merge command
English version: SVN Error: "' x ' isn ' t in the same repository as ' Y '" during merge
The Chinese version of this report is wrong: and not in the same repository
If you are using the Chinese version, then you are tragic, like me, Google, Baidu can not search the answer
But don't worry now, I struggled Dickens to find the answer, very disgusting a small problem:
Questions:
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 it's googleable by others. I got my share of trouble finding the answer).
Answer:
The problem lies in the fact the checkout information are different from what do specify in the svn merge command. Typically, it can be either:
- the hostname is different if you do the checkout. You do the checkout as from
svn.example.com
but now is merging by referring to an host alias, like svn-alias.example.com
. Note that even, the case is important. You can get the this error if you do svn merge
from svn. example.com
. More on This here and here. The
- the protocol is different from what you used for the checkout. E.g. http://svn.example.com versushttps://svn.example.com make sure you use the same protocol.
- you are specifying a username at
svn merge
in the form [email protected] . Try to remove the , [email protected]
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 the very much case sensitive. Sometimes if you right click on any branch and click Mergehttps://mysite.com/svn/myrepo/trunk as the merge from. But my branch name had small letters for Myrepo Https://mysite.com/svn/myrepo/branches/mybranch. This cause me error surely check the case sensitivenes: If its isn't matching type in the wizard correctly
The merge is case sensitive. Ensure when did the initial checkout ensure that's the name and case is the same. For example, if you checkout to ' Http:///ABC ' ensure you enter ' Http:///ABC ', not ' http:///abc ' in the ' URL to merge from ' .
Explain:
Two SVN merge is very sensitive and the domain name of two SVN code addresses must be exactly the same
Https://aaa.com
Http://aaa.com
This is not going to work.
Http:///ABC and HTTP:///ABC are not.
Hope to be useful to everyone
SVN Error: "' x ' isn ' t in the same repository as ' Y '" during merge (not in the same repository)