【问题标题】:Exclude files by wildcard through Tortoise SVN shell menu通过 Tortoise SVN shell 菜单通过通配符排除文件
【发布时间】:2011-08-01 16:39:56
【问题描述】:

我在 Windows 7 中使用 Tortoise SVN 1.6.16。如果我想从未来的提交中排除某种文件类型,我想我可以在我的工作文件夹中找到该类型的文件,然后右键单击它,然后选择“TortoiseSVN->删除并添加到忽略列表->*.ext”,其中 ext 是我单击的文件的文件扩展名,如下图所示。

但是,当我这样做时,它只会排除该特定文件,并且下次提交时,该类型的所有其他文件仍会出现在要提交的列表中。

我做错了吗?我怎样才能告诉 Tortoise 或 SVN 从未来的提交中忽略所有特定类型的文件?

【问题讨论】:

    标签: tortoisesvn file-extension


    【解决方案1】:

    我和@Stefan 有同样的预感:您可能在子目录中看到了文件,并认为即使您只将忽略应用于单个文件夹,这些文件也应该被忽略。

    如果真的是这样的话,这里是秘诀:

    当您想忽略单个目录中的文件或模式时:

    使用便捷菜单命令添加到忽略列表。

    当您想忽略子树中的文件或模式时:

    打开子树根的 subversion 属性 (TortoiseSVN >> Properties)。添加或编辑 svn:ignore 关键字的条目。插图显示了一个示例,其中我指定忽略 obj 子文件夹以及具有 .user.bak 扩展名的所有文件。

    不过,秘诀就在规范中——当您定义要忽略的模式时,请选择此处所示的递归选择:

    不幸的是,这种方法有一个问题:在我的示例中,我之前指定忽略 obj*.user,而我只添加了 *.bak 模式。当我递归应用时,它不仅应用 change (*.bak),还应用 svn:ignore 关键字(obj、*.user 和 *.bak)中的 everything ) 到所有子文件夹。这可能是也可能不是您想要的,所以请注意这一点。

    【讨论】:

    • 好的,我试过了,看起来它会做我想做的事。不幸的是,当我申请忽略一些文件类型时,新的 svn:ignore 条目取代了旧的条目,它有一些更详细的排除(特定文件)。有没有办法拥有多个忽略属性,以便您可以组合全局(在工作文件夹内)和特定文件排除项?
    • 是的,我应该更明确一点:svn:ignore 所选文件夹下所有子文件夹的关键字将被您正在应用的新集合覆盖。所以这种技术并不是适用于所有情况的灵丹妙药。
    【解决方案2】:

    它会正确地忽略所有 bat 文件,但不会递归!它只会在您将其添加到忽略列表的文件夹中忽略它们。

    【讨论】:

    • 明白了。有没有一种简单的方法可以让它在整个当前工作目录中忽略它们?如果没有,它是否至少考虑到子文件夹,以便我可以在工作文件夹的根目录中制作我想要排除的类型的文件并将其排除?谢谢。
    【解决方案3】:

    您也可以使用 Tortoise 的全局忽略模式(如果它适用于您的所有工作副本):

    • TortoiseSVN -> 设置
    • 常规
    • 填写“全局忽略模式”字段,例如在其末尾添加“*.ext”,用空格分隔条目。

    【讨论】:

      猜你喜欢
      • 2011-11-21
      • 2019-06-08
      • 1970-01-01
      • 1970-01-01
      • 2016-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-24
      相关资源
      最近更新 更多