【问题标题】:SVN - ignoring files already in repositorySVN - 忽略存储库中已有的文件
【发布时间】:2012-03-19 09:12:54
【问题描述】:

我的项目中有一个配置文件需要在存储库中(因此新开发人员在签出项目时会得到它)。每个开发人员都可能在本地更改文件中的某些值 - 这些更改不应提交,我不希望它们显示在同步菜单中(如果重要,我正在使用 eclipse 和颠覆性)。

请注意,我不能只设置 svn:ignore 属性,因为它仅适用于不受版本控制的文件 - 但我确实希望在存储库中保留文件的基本版本。如何避免文件同步显示而不从存储库中删除?

编辑:更好的描述——我真正需要的是能够在配置文件上设置一个“只读”属性,所以它不能在存储库中更改由于该属性是。你知道这样的事吗?

谢谢

【问题讨论】:

标签: eclipse svn ignore subversive


【解决方案1】:

我通过将文件的基本版本签入为 foo.base 来做到这一点,并 svn 锁定它,使其在签出时为只读。然后让每个开发者将此文件复制到他们自己的个人 foo 文件中,该文件会被 svn-ignore 忽略。

【讨论】:

    【解决方案2】:

    您不能忽略已经在版本控制下的文件。忽略此类文件的唯一方法是首先删除这些文件并执行提交,然后更改 svn:ignore 属性并执行第二次提交。 如果您喜欢某种 Base-Version,请使用具有不同名称的模板。

    【讨论】:

    • 你能给那个好评论的确切参考吗?
    • 这意味着正如我所料,您说我只需要一个提交而不是两个正确的提交。永远不要忽略已经提交的文件。
    • 如果您看不到差异,请为您报价“秘诀是确保它在忽略列表中 之前 您提交删除。如果您按该顺序,删除不会传播到其他人的工作副本。"
    • 根据 OP 问题,它已经在版本控制之下。换句话说,在存储库中。所以你唯一能说的就是保存一个提交。真不错。
    【解决方案3】:
    • 您可以使用不同的名称版本模板

    【讨论】:

    • propedit - 你的意思是把它设置为忽略?提交后它仍然处于忽略模式吗?要么我没有真正理解这一点,要么听起来不对
    【解决方案4】:

    一旦你签出,你可以锁定它,一旦它被锁定,其他人将无法提交(对 svn 进行更改)该文件。见下图

    【讨论】:

    • 我们现在实际上有锁,但我仍然每次都在同步窗口中获取它,直到我(可能不小心)忘记执行“从视图中删除”,它将作为一些不相关变更集的一部分提交
    【解决方案5】:

    我的解决方案是,如果原始模板文件不存在,编译时脚本会从原始模板文件创建一个副本。此副本可以放在忽略列表中。我觉得为此目的锁定文件会滥用锁定功能(它不是为此创建的)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-11
      • 1970-01-01
      • 2011-11-06
      • 2014-02-12
      • 2012-06-04
      • 2011-10-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多