【问题标题】:Delete all files being ignored within a Subversion checkout删除在 Subversion 签出中被忽略的所有文件
【发布时间】:2010-08-24 09:31:01
【问题描述】:

如何删除在 Subversion 签出中被忽略的所有文件?有效地将其恢复到相当于原始结帐的状态。

【问题讨论】:

  • 你在哪个平台上?在Linux中,可能有一些比较svn输出和ls输出的疯狂方式,并删除那些不重叠的文件或其他东西。在 Windows 中,如果您可以使用 TortoiseSVN,您也许可以在 GUI 中使用“忽略”的图标——虽然这不是 100% 可靠的

标签: svn file-management svnignore


【解决方案1】:

当我想清理工作副本时,我会使用此脚本。它会删除所有未知和被忽略的文件。

svn status --no-ignore | awk '$1=="?"||$1=="I" { print $2 }' | xargs -i rm -rf {}

【讨论】:

    【解决方案2】:

    如果TortoiseSVN,可以Check for modificationsShow ignored files,右键删除。

    【讨论】:

      【解决方案3】:

      karoberts' solution 不适用于 Mac OS X (Snow Leopard)。 another command I found on a blog也没有

      我明白了

      xargs: 非法选项 -- i

      xargs: 非法选项--d

      分别。

      这适用于 Mac(改编自 karoberts):

      svn status | awk '$1=="?"||$1=="I" { print $2 }' | xargs rm -rf
      

      【讨论】:

        【解决方案4】:

        您可能希望首先反转这些文件的忽略状态(参考How do I Unignore a file in TortoiseSVN? 了解详细信息),然后您可以从您的工作区methinks 中删除并提交更改。

        【讨论】:

          【解决方案5】:

          这是另一种方法。

          svn status --no-ignore | grep "^[\?I]" | sed 's%^........%%' | xargs -d "\\n" rm -rv
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2013-11-20
            • 1970-01-01
            • 2010-09-10
            • 2011-09-02
            • 2018-12-29
            相关资源
            最近更新 更多