问题描述
|
我正在尝试对我的项目进行提交,并且遇到以下错误。密切注意路径:
Commit Failed (details follow):
Cannot commit both
\'C:\\Development\\Project\\branches\\nextver\\project\\bin\\com\\companyname\\blah\\Foo.java\'
and
\'C:\\Development\\Project\\branches\\nextver\\project\\src\\com\\companyname\\blah\\Foo.java\'
as they refer to the same URL
这到底是怎么发生的?我从来没有在Eclipse的bin路径中放入源文件!我该如何解决?请告诉我还有比重新签出并替换所有文件更好的方法。我一个人就有191个Java文件,更不用说资源和Eclipse文件了。
解决方法
我知道自您发布此消息已有一年多了,但这可能会对其他人有所帮助。我刚刚遇到了同样的问题。我最终将其追溯到Eclipse上的项目设置。就我而言,发生在eclipse中的构建过程是“构建” /将源文件夹中的所有文件复制到构建文件夹中。这导致源中的.svn目录被复制到build文件夹,这就是Subversion混淆的方式。如果您通过RepoBrowser检查路径(我在Windows环境中使用Tortoise),则这些路径指向正确的目录(源和构建),但是如果您在本地计算机上的目录中运行\“ svn info \”,找到源目录和构建目录指向相同的URL(因此出现消息)。
一旦我意识到问题出在Eclipse之内,而不是Subversion特有的,就很容易找到解决方案。您需要在“源”选项卡的“ Java构建路径”中的源排除项中添加\“ ** /。svn / \”:
项目->属性-> Java构建路径。
, 尝试这个:
转到
C:\\Development\\Project\\branches\\nextver\\project\\bin\\
,然后删除.svn
。然后尝试提交。
我认为src
中的内容(包括.svn
)被复制到了bin
中,使得它们看起来好像都来自服务器中的相同URL。当然,您不想要那样。您可能需要更正您的构建设置。
, 解决的办法是从本地副本中删除并忽略我的bin dirs。再次。乌龟SVN似乎忘记了我以前做过的事情,而且我没有注意到垃圾箱已经爬进来,从而导致了这个问题。解决了它遇到的其他问题(冲突的源树等)后,我设法将其提交。
我确实首先尝试从bin dirs中删除.svn文件夹,但是所做的所有事情都导致它抱怨bin dir不再受源代码控制并停止。
, 就我而言,我有一个在两个项目之间共享的配置文件,但是我在两个项目中都更新了文件(具有相同的更改)。
SVN无法提交,因为它认为有两个不同的更改集要提交给同一文件。
所以我还原了其中一份副本,然后就可以提交了。