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).
(实际上我知道这个答案,只要我允许,就可以在系统允许的情况下发布它,这样它就可以被其他人使用了。我在寻找答案时遇到了麻烦。
5 个解决方案
#1
73
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:
问题在于,checkout信息与您在svn merge命令中指定的信息不同。通常,它可以是:
- 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. - 当您进行结帐时,主机名是不同的。您从svn.example.com进行了签出,但是现在您通过引用主机别名(如svn-alias.example.com)进行合并。请注意,即使是这个案例也很重要。如果你从svn . example.com进行svn合并,就会得到这个错误。这里和这里更多。
- 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.
- 该协议与您在签出时使用的协议不同。例如:http://svn.example.com与https://svn.example.com,请确保使用相同的协议。
- 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. - 您在表单user@svn.example.com中指定了svn中的用户名。尝试删除用户@规范(无论如何,用户已经通过了)。svn考虑主机名,因此,如果指定用户,则不同,即使用户在技术上是相同的。
#2
7
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
这是非常大小写敏感的。有时,如果您右键单击任何分支,然后单击merge https://mysite.com/svn/MYREPO/trunk作为合并。但是,我的分支名称有小字母用于myrepo https://mysite.com/svn/myrepo/branches/mybranch。这引起我的错误肯定是检查了案件的敏感性。如果向导中没有正确的匹配类型。
#3
1
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".
合并是区分大小写的。确保在进行初始检查时确保名称和实例是相同的。例如,如果签出“http:///ABC”,确保输入“http:///ABC”,而不是“URL中的http:///ABC”。
#4
0
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.
如果两个储存库都是独立的,那么您也可以得到相同的UUID。可以通过使用“svnadmin setuuid”命令来轻松解决其中一个问题。
#5
-2
I just have the same problem and I just cleared the port input and it works
我只是有同样的问题,我刚刚清除了端口输入,它起作用了。
#1
73
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:
问题在于,checkout信息与您在svn merge命令中指定的信息不同。通常,它可以是:
- 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. - 当您进行结帐时,主机名是不同的。您从svn.example.com进行了签出,但是现在您通过引用主机别名(如svn-alias.example.com)进行合并。请注意,即使是这个案例也很重要。如果你从svn . example.com进行svn合并,就会得到这个错误。这里和这里更多。
- 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.
- 该协议与您在签出时使用的协议不同。例如:http://svn.example.com与https://svn.example.com,请确保使用相同的协议。
- 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. - 您在表单user@svn.example.com中指定了svn中的用户名。尝试删除用户@规范(无论如何,用户已经通过了)。svn考虑主机名,因此,如果指定用户,则不同,即使用户在技术上是相同的。
#2
7
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
这是非常大小写敏感的。有时,如果您右键单击任何分支,然后单击merge https://mysite.com/svn/MYREPO/trunk作为合并。但是,我的分支名称有小字母用于myrepo https://mysite.com/svn/myrepo/branches/mybranch。这引起我的错误肯定是检查了案件的敏感性。如果向导中没有正确的匹配类型。
#3
1
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".
合并是区分大小写的。确保在进行初始检查时确保名称和实例是相同的。例如,如果签出“http:///ABC”,确保输入“http:///ABC”,而不是“URL中的http:///ABC”。
#4
0
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.
如果两个储存库都是独立的,那么您也可以得到相同的UUID。可以通过使用“svnadmin setuuid”命令来轻松解决其中一个问题。
#5
-2
I just have the same problem and I just cleared the port input and it works
我只是有同样的问题,我刚刚清除了端口输入,它起作用了。