【问题标题】:svn:ignore exclude a file from being ignoredsvn:ignore 排除文件不被忽略
【发布时间】:2013-08-05 10:40:21
【问题描述】:

我有一个目录,其中包含具有各种扩展名的文件。我想在 svn:ignore 中执行以下 .gitignore 代码的等效操作:

*.* # ignore everything
!.htaccess # except this file

如何在 svn:ignore 中实现这一点?

【问题讨论】:

    标签: svn svnignore


    【解决方案1】:

    如果您已经将 .htaccess 文件添加到 SVN 控件中,则没关系。您将始终看到对该文件的更改。忽略列表唯一起作用的是尚未添加到存储库中的文件。您可以全局忽略目录中的所有内容,仍然将 .htaccess 文件添加到 SVN 控件并查看修改等。

    【讨论】:

    • 这不是真的,当我这样做时 - .htacecss 文件被标记为已删除...(显然不应该是什么)。
    • 仅仅编辑 svn:ignore 属性永远不会删除文件。那么你具体做了什么?你想做什么?您不能忽略已添加到 SVN 的文件中的更改,这个问题是关于不忽略对某些文件的更改。
    • 是的,你是对的。我只想说,当您将先前添加到存储库(带有文件)的目录设置为忽略时 - 它会使这些目录(及其中的文件)被删除。 (因为它以前在存储库中,但现在你希望它忽略)。在那一刻是不可能恢复(内部)文件删除 - 你必须首先恢复父目录......所以,简短的方法 - 忽略整个父目录不是办法。
    【解决方案2】:

    我认为你不能 - svn:ignore 接受黑名单(要忽略的文件),而不是白名单(不要忽略的文件)。

    【讨论】:

    • 糟透了...我不想列出一长串允许的文件扩展名。
    • 确实...但是使用 Subversion 1.8,您可以在服务器上设置一次(请参阅inherited properties)并将其级联到您的项目(而不必应用相同的 svn:ignore模式到每个项目文件夹)。
    • 不是一个解决方案,有些文件夹不能忽略这些扩展名(例如,1 个带有上传图像的文件夹 - 已忽略 - 另一个带有 GUI 图像的文件夹 - 显然不可忽略)。
    • 如果包含与您预定义的白名单不匹配的扩展名,您可以尝试使用 pre-commit hook 来失败提交
    • 我只想在某些目录中隐藏svn status/svn commit 中的所有文件(.htaccess 除外)。它们是上传的文件,而不是提交的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-20
    • 2010-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-15
    相关资源
    最近更新 更多