SVN Error: “' 'x' isn't in the same repository as 'y' ” during merge (并不在同一个版本库中)
在使用svn merge命令报错
英文版本:SVN Error: “' 'x' isn't in the same repository as 'y' ” during merge
中文版本报错:并不在同一个版本库中
如果你使用的是中文版本,那你就悲剧了,跟我一样,Google、百度都搜不到答案
不过现在不用担心,我费劲九牛二虎之力找到答案了,非常恶心的一个小问题:
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 that it's googleable by others. I got my share of trouble finding the answer).
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 versushttps://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 mergehttps://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".
解释一下:
两个svn merge 非常敏感,两个svn代码地址的域名必须完全一致
https://aaa.com
http://aaa.com
这样的也是不行的
http:///ABC 和 http:///abc 也是不行的
希望对大家有用