如何清除标有“!”的文件在'svn status'?

时间:2011-07-11 18:36:13

标签: svn

我将文件添加到我的SVN但没有提交它们(因此它们在'svn status'中显示为“A”标志)。但后来我决定在提交之前重命名它们。我打算添加它们并提交,但“svn status”显示标有“!”的旧名称的文件。我无法摆脱这一点。我该怎么做?我甚至在目录中尝试了“svn delete *”/“svn remove *”,但在此之后执行'svn status'仍然显示文件(不在我的本地硬盘驱动器上)的旧名称,标有'! ”。

1 个答案:

答案 0 :(得分:3)

使用通配符(*)时,“删除”命令会删除与此通配符匹配的所有文件 - 即目录中的所有文件。

但没有 - 你已经删除了它们。因此,就SVN而言,没有文件被删除。

您需要明确删除这些文件。如果有很多,您可以使用grepawk从状态输出中检索相关文件:

svn st | grep `^!` | awk '{ print $2 }' | xargs svn rm

(未经测试,小心使用!)