【问题标题】:How do I clear files marked with a "!" in 'svn status'?如何清除标有“!”的文件在'svn状态'?
【发布时间】:2011-07-11 18:36:12
【问题描述】:

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

【问题讨论】:

    标签: svn


    【解决方案1】:

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

    但是没有——你已经删除了它们。因此,就 SVN 而言,不会删除任何文件。

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

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

    (未经测试,慎用!)

    【讨论】:

    • 哇,真烦人。我一定不会再这样做了...感谢您的帮助。似乎应该有一个更简单的方法来做到这一点!顺便说一句,不清楚“命令”是什么意思——我使用了 svn remove 并且它起作用了。
    • @svnn00b 好吧,我说“使用通配符时 ...命令...”。当您键入svn rm <filename> 时,当然可以。此处未使用通配符。
    • 是的,我接受了您的建议,并且它奏效了,就像我上面所说的那样。我只是指出,您可以通过指定“命令”所指的命令来改进您的答案。再次感谢您的帮助。
    猜你喜欢
    • 2012-02-07
    • 1970-01-01
    • 1970-01-01
    • 2016-12-12
    • 2015-12-01
    • 2012-04-27
    • 1970-01-01
    • 1970-01-01
    • 2021-08-02
    相关资源
    最近更新 更多