SVN:无法提交'x'和'y',因为它们引用相同的URL?

jas*_*onh 9 eclipse svn commit

我正在尝试对我的项目进行提交,并遇到以下错误.密切关注路径:

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
Run Code Online (Sandbox Code Playgroud)

这个世界怎么会发生这种情况?我从未在Eclipse的bin路径中获取源文件!我该怎么办才能修复它?请告诉我,有一些比再次检查并更换所有文件更好的东西.我只有191个Java文件,更不用说资源和Eclipse文件了.

T.F*_*her 6

我知道你发布这个帖子已经有一年多了,但这可能有助于其他人.我刚刚经历了同样的问题.我最终将其追溯到Eclipse上的项目设置.在我的情况下,发生的事情是eclipse中的构建过程是"构建"/将源文件夹中的所有文件复制到构建文件夹.这导致源中的.svn目录被复制到构建文件夹,这就是Subversion混淆的方式.如果您通过RepoBrowser检查路径(我在Windows环境中使用Torto),路径指向正确的目录(源和构建),但如果您从本地计算机上的目录中运行"svn info",您会发现source和build目录指向相同的URL(因此消息).

一旦我意识到问题出现在Eclipse中并且不是特定于Subversion,就很容易搜索解决方案.您需要将"**/.svn /"添加到"源"选项卡的"Java构建路径"中的源排除项:

项目 - >属性 - > Java构建路径.

  • PS.如果你在eclipse中使用Subclipse subversion插件,你将不会遇到这个问题.我在Eclipse之外使用Subversion. (2认同)

jas*_*onh 1

解决方案是从本地副本中删除并忽略我的 bin 目录。再次。Tortoise SVN 似乎忘记了我之前做过的事情,并且我没有注意到 bin 目录已经潜入,导致了这个问题。在解决了它在我的路径中抛出的其他几个问题(源树冲突等)后,我设法让它提交。

我首先尝试从 bin 目录中删除 .svn 文件夹,但所做的只是导致它抱怨 bin 目录不再受源代码控制并停止。