【问题标题】:Subclipse wants to commit an folder conaining an svn:ignore fileSubclipse 想要提交一个包含 svn:ignore 文件的文件夹
【发布时间】:2011-01-10 12:42:36
【问题描述】:

我有一个带有子文件夹 Resources 的项目。在这个文件夹中有一个我添加到 SVN:ignore 的文件。

与最新的存储库修订版相比,现在没有任何其他更改。但是在eclipse的同步视图中,这个文件夹仍然被显示。它下面没有显示其他文件,因为没有任何变化。

  • 为什么这个文件夹会显示在同步视图中?
  • 是因为 SVN 元数据发生了变化吗?
  • 我是否必须将元数据提交到存储库中?
  • 有没有办法在不提交元数据的情况下将此文件夹移出同步视图?

我不想提交那些 SVN:ignore 元数据,因为它是特定于用户的。我不想忽略文件夹的内容,因为有一些常规文件必须进行版本控制。

提前致谢。

【问题讨论】:

    标签: eclipse svn subclipse svnignore


    【解决方案1】:

    是因为 SVN 元数据改变了吗?

    是的,您修改了Resources 文件夹的svn:ignore 属性。

    我必须将元数据提交到存储库吗?

    是的,svn:ignore 属性存储在存储库中。它们在所有 SVN 用户之间共享。

    有没有办法让这个文件夹脱离同步视图,而不提交元数据?我不想提交那些 SVN:ignore metadata,因为它是特定于用户的。

    是的。您可以在 SVN 配置文件中使用 global-ignores,而不是 svn:ignore 属性。来自 SVN 书中的Runtime Configuration Area 部分:

    全局忽略

    当运行svn status 命令时,Subversion 会列出未版本化的文件和目录以及版本化的文件和目录,并用? 字符注释它们(参见“查看更改概述”部分)。有时,在此显示中看到无趣的、无版本的项目(例如,程序编译产生的目标文件)可能会很烦人。 global-ignores 选项是一个由空格分隔的 glob 列表,描述了 Subversion 不应该显示的文件和目录的名称,除非它们被版本化。默认值为*.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store

    【讨论】:

      【解决方案2】:

      你必须提交 svn:ignore 当它应该工作时。我认为没有其他方法。因为所有项目元数据都在版本控制之下!

      【讨论】:

        【解决方案3】:

        也许它正在尝试添加 .ignore 文件本身? (它可能创建了该文件以列出被忽略的文件。)也检查任何其他隐藏文件。

        如果需要,可以将整个文件夹添加到忽略列表中

        编辑

        Svn 不会创建忽略文件列表,但它可能正在提交父文件夹或该文件夹内有一些隐藏文件

        【讨论】:

        • 包含 svn 元数据的 .svn 文件夹是唯一隐藏在那里的东西。 .svn/dir-props 文件包含忽略该文件的信息。也许其他地方有更多元数据,但我不这么认为。
        • 所以,将 .svn 文件夹添加到忽略列表中。我不确定 svn 是否会自动执行。无论如何,您可能想要提交隐藏文件列表,因为可能其他所有人都将拥有相同的隐藏文件/文件夹。
        猜你喜欢
        • 2011-03-02
        • 1970-01-01
        • 2022-10-15
        • 1970-01-01
        • 2017-11-23
        • 2012-06-13
        • 2016-11-05
        • 1970-01-01
        • 2021-12-20
        相关资源
        最近更新 更多