在Subclipse中,添加到svn:ignore中的选项变灰了。

29

我有一些文件,无法使用Subclipse将它们添加到svn:ignore中,也不知道原因。

图片描述

通常不能将文件添加到svn:ignore的原因是文件已经在存储库中,或者包含该文件的文件夹尚未创建。但这两种情况似乎都不适用于此,所以我不知道原因是什么。

5个回答

25

该文件已被添加到版本控制中。如果这是在命令行中,那么某人会执行svn add,但尚未提交更改。因此,该文件当前处于“scheduled-add”状态。如果您想忽略该文件,则首先要执行Team > Revert来删除计划添加状态。然后,您将能够将其添加到父级svn:ignore中。

更新:当还原文件时,请勿选择当前“未加入版本控制”的文件。还原未加入版本控制的文件将导致Subclipse删除该文件。如果您不小心删除了某些内容,请注意Eclipse有一个“从本地历史记录恢复”的选项。通常可以在本地历史记录中找回您删除的项目。


3
我执行了对文件的还原操作,每个图标上的 "+" 变成了 "?",于是我就能够将其加入到 svn:ignore 中了。 - Edd
3
我执行了回退操作,现在我的项目消失了。什么! - Duncan Calvert
8
请务必在此帖子中添加免责声明。我的整个项目刚刚被删除了,所幸前几天我备份到了笔记本电脑上。如果我没有这样做,那么我可能会损失成千上万美元。 - Duncan Calvert
这让我很困扰,直到我意识到我已经提交了某个目录树下的东西。 - Andrew
在我的情况下,我想要添加到svn:ignore中的文件夹名称已经存在于项目属性-> SNV信息中。但是不知何故Eclipse没有获取它。手动从svn:ignore中删除它并没有改变任何东西,提交所有相关更改后还原项目可以解决问题。 - BurninLeo
更新对我来说还不是很清楚。如果你将要添加到svn:ignore的文件恢复为原始状态,那么你就不会选择该文件,"恢复"操作没有任何作用。你使用了特定的 "未版本化" 定义吗?我想你排除了已"计划添加"的文件,对吗?在我的情况下,我发现将这些文件夹包含在"恢复"操作中没问题,但我只做了顶层,以防万一。 - Dan Gravell

8
上面的回答是非常糟糕的建议,如果您的文件不在SVN中,还原可能会删除所有内容。真正的答案在这里:Subclipse svn:ignore,最有可能导致此问题的原因是父文件夹未添加到svn。

6
答案准确回答了问题。示例截图显示带有“+”的文件,这表示它们是计划添加的。还原应该将它们恢复为未版本化状态。如果你还原一个标记为“?”的未版本化文件,那么它会被删除。顺便说一句,任何还原的内容也可以在Eclipse本地历史记录中找到。 - Mark Phippard
2
我不明白为什么有人会找到这个特定的问题,然后做错事?这个问题是关于为什么他们不能忽略一个已经版本化的文件。我应该加上一个免责声明,告诉他们选择所有文件,然后按下删除键吗? - Mark Phippard
我对你的回复感到失望。它带有讽刺意味,不尊重我的真实意图。你是一位优秀的开发者,在这个网站上的声誉也反映了这一点。我已经做出了我的和解,不想从这个问题中抽离。让我们就此结束吧。 - GeekyOmega

1
要忽略已经检入的文件,您需要执行以下步骤: 1)将该文件从您的工作空间移动到一个临时目录; 2)选择“Team” -> “与仓库同步”; 3)提交删除该文件; 4)将文件复制回您的工作空间; 5)刷新; 6)选择“Team” -> “与仓库同步”; 7)添加到 .svnignore 文件中; 8)选择“Team” -> “更新”(必要时); 9)选择“Team” -> “与仓库同步”; 10)提交更改到父文件夹。

0

我尝试了很多方法来从SVN版本控制中删除文件夹。这是唯一对我有效的方法(Eclipse Mars):

  • 关闭Eclipse
  • 使用适当的SQLite数据库编辑器打开本地项目副本中的.svn/wc.db文件
  • 在表nodes中删除文件夹及其子文件夹的条目
  • 提交更改(如果需要)
  • 启动Eclipse

就是这样。

注意:要将文件或文件夹添加到svn:ignore中,其父文件夹必须处于版本控制下。上述步骤仅旨在从版本控制中删除已经处于版本控制下的文件。


0
当我遇到这个问题时,是因为我已经忽略了它。右键单击项目,选择团队和显示属性。请记住,svn:ignore存储在服务器上,因此即使您从repo中拉取项目,它也将存在于那里。

这个不起作用。即使手动添加到svn:ignore中,已经在版本控制下的文件夹仍然会被同步/提交。 - BurninLeo
@BurninLeo,我的情况是我之前已经忽略了这个文件并且忘记了。这就是为什么“添加到版本控制”对我而言是灰色的原因。 - geekinit
哈哈哈 :) 对不起......太晚了。我完全误解了:“当我遇到这个问题时,是因为我已经忽略了它” - 我理解你之前忽略了这个问题,然后它像回飞镖一样回到了你身边。顺便说一句:谢谢你提供的指引,“Team”- >“Show Properties” - 我以前不知道这个! - BurninLeo
有时候,在Eclipse中使用svn可能会遇到一些奇怪的问题。我运气比较好,用的是subversive插件。我很喜欢"与仓库同步"的功能。如果你需要为已经提交的文件建立svn:ignore,你可以尝试从Eclipse中移除这些文件(可能将文件剪切粘贴到项目外的其他地方或者在Mac上复制和移动),然后刷新你的项目并提交更改,在将文件添加回你的项目之后,右键单击文件 > Team > Add to svn:ignore。当我尝试这样做的时候,最后必须执行Team > cleanup和Team > update才能最终提交。 - geekinit

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