Eclipse SVN 忽略 bin 文件夹

21
在Eclipse项目中,我已经设定了Subversion忽略bin目录,并且在Eclipse中将bin目录添加到被忽略的资源列表中。
然而,偶尔Eclipse会把.svn目录放进bin目录。这并不会影响Subversion提交(因为Subversion命令行客户端遵循忽略整个bin目录的指令),但它会影响TortoiseSVN中的显示。
对于这个问题是否有已知的解决方法或变通方法?
(Eclipse 3.5,Windows Vista。)
7个回答

22

看起来实际上发生的事情是eclipse在构建过程中从源目录中复制了.svn目录 -- 它认为这是要复制到输出二进制目录的“资源”。为了阻止它这么做,您可以将.svn/添加为被过滤资源。对于您的工作区或项目,在属性对话框中转到:Java编译器 | 构建,并将“.svn”添加到“输出文件夹”下的“已过滤资源”的列表中。

我尚未尝试过,但我不会惊讶如果安装eclipse的其中一个子版本控制插件也会自动过滤掉 .svn 目录,因此任何安装了子版本控制插件的人都不会注意到这个问题。


3
如果你在结尾处加上斜杠/.,并拼写为.svn/,这个可以正常工作。谢谢! - rwallace
1
有人能确认一下,如果安装了Subversion Eclipse插件会发生什么吗?我是否需要撤销.svn/修复?插件是否会像Brian建议的那样过滤掉.svn文件夹?这适用于subclipse和subversive,因为我还没有安装任何一个,也不确定应该选择哪一个。谢谢。 - Alex
我有一个用于3.7.2版本的Eclipse子程序,目前我遇到了相同的问题。我关闭了Eclipse中的自动构建功能以测试Maven构建和编译,然后在我重新打开它之后,我在bin文件夹中也看到了.svn目录。因此,我认为通常情况下会被过滤掉,但是一旦自动构建被关闭并再次打开,似乎就不再过滤这些目录了。我必须像解决方案建议的那样重新配置过滤器。 - Martin Kersten
太好了,谢谢 - 这对我有用。但是,需要记住用逗号分隔过滤资源列表,因此如果您已经有一些条目,并且只需在空格后添加“.svn”,它将无法正常工作。 - Wojtek Jarosz

5

经过漫长的搜索,从这篇文章和类似的帖子开始,我最终在http://www.damonkohler.com/2009/07/make-eclipse-ignore-svn-directories.html的帮助下解决了这个问题。

对我起作用的源文件夹模式略有不同,与博客上给出的模式稍有不同, 即“****/.svn/”** 而不是 “****/.svn***”

根据我的经验,在没有第一步的情况下,第二步(也被提到过作为一个解决方案)没有效果。

谢谢Daemon!

步骤:

1. 项目 > 属性 > Java构建路径 对于每个源文件夹,编辑“排除”以包括模式“****/.svn/”**

2. 项目 > 属性 > Java编译器 > 构建 > 启用项目特定设置 选中该框。

项目 > 属性 > Java编译器 > 构建 > 输出文件夹 > 过滤资源 添加“.svn/”,使其读取“*.launch, .svn/”


我正在使用Eclipse 4.2.0 Juno,你的建议中第一项对我非常有帮助。另外,一开始可能很难注意到,但是在“**/.svn/”中有双星号“**”。 - Mike
就像Mike所说的,第一步就是我所需要的,谢谢! - Federico Cristina

0

以上方法都对我无效,但是删除并重新创建Eclipse项目可以解决问题:

  • 从Eclipse中删除您的项目(不要从磁盘中删除)。
  • "文件" -> "新建.." -> "项目" -> "Android 项目"
  • 在“新建 Android 项目”对话框中选择“从现有源代码创建项目”(在硬盘上找到您的项目)->“完成”

(按照link的说明)


0
在我的经验中,安装Subversive会阻止Eclipse将.svn文件夹复制到构建目录。

0
我正在使用Eclipse Photon和Totoise SVN 1.10.0(在Windows 10-64位上),我遇到了上述问题,对我有效的解决方案是将排除过滤器包含到src->构建路径->配置包含/排除过滤器中(如Gid部分提到的),但是,对我来说仅包含排除过滤器就足够了,我使用的模式是“.svn /”,请参见下面的图像。

enter image description here


0
你在用哪个SVN插件?Subclipse还是Subversive?这不是Eclipse本身的问题,而更像是你用于SVN的特定Eclipse插件的问题。可能需要为该插件编写一个问题报告。

没有!我正在使用Subversion命令行客户端和TortoiseSVN。我从未为Eclipse安装任何Subversion插件,这让我感到更加惊讶。 - rwallace

0

嗯,这确实非常奇怪。请前往您的插件目录或查看“帮助”>“关于Eclipse”,检查您安装了哪些插件。查找包含svn、subversion或polarion的内容,如果有,则可能存在该插件干扰的问题。

如果没有,我认为您的subversion(Tortoise SVN)安装可能出现了问题。那么Eclipse引起此问题的可能性非常非常小。

顺便说一句,我曾经遇到过各种问题,不仅是Eclipse SVN插件支持(我希望svn插件能像Eclipse CVS支持一样好),而且有时候还会出现命令行subversion工具的问题。这可能与您使用的Subversion版本或您对svn的操作/未操作有关。请检查svn:ignore属性是否设置正确。您可以使用svn pl进行操作,在忽略bin时,如果属性未正确设置,则不要感到惊讶。请记住,在这种情况下,分隔符不是逗号,而是换行符。

祝你好运


我通过关于框和Windows命令提示符两种方式都进行了检查,但没有发现任何这些名称的插件。Subversion命令行客户端和TortoiseSVN都确认忽略属性已正确设置,并且我的Subversion设置在所有其他情况下都正常工作,我也没有做过任何异常操作。我会继续关注它,并看看是否能找到创建bin/.svn的情况下的任何线索。 - rwallace

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接