【问题标题】:Adding the svn:ignore property on files that already are under control在已经受控制的文件上添加 svn:ignore 属性
【发布时间】:2013-06-17 15:09:37
【问题描述】:

.settings 文件夹和 .project 文件当前处于版本控制之下。我需要在它们上添加 svn:ignore 属性。当我们还是少数开发人员时,我总是这样做:

  1. 在本地临时备份它们
  2. 在本地删除并提交(或远程删除并更新)
  3. 从备份本地重新添加它们(步骤 #1)
  4. 添加 svn:ignore 属性并提交

问题是其他开发者在更新之前也必须备份他们的文件,因为他们的本地文件在更新时会被删除。任何其他限制较少的解决方案,或者我真的必须发送“请在更新前备份!”电子邮件?

【问题讨论】:

    标签: java eclipse svn version-control svnignore


    【解决方案1】:

    您应该改用svn rm --keep-local

    如果你在 Unix 上,你可以测试一下:

    find . -name .project -exec sh -c 'svn info "{}"' \; -a \
           -execdir bash -c 'svn -q propset svn:ignore -F <((svn propget svn:ignore;\
                        echo .project) | sort -u) .' \; -a \
           -execdir svn delete --keep-local {} \;
    
    1. 搜索.project文件并检查它是否有版本。
    2. 检索属性并在本地目录中添加 .project。 sort -u 防止重复
    3. 如果您想要求确认,请改用--okdir

    注意:您只能在最后提交,因为它是相同的操作(即“清理属性”)。

    FWIW 不要失去希望,svn 1.8 包含继承的属性 (http://subversion.apache.org/docs/release-notes/1.8.html#iprops)

    【讨论】:

    • 非常感谢,我不知道这个--keep-local 选项。实际上,我忘了告诉我我使用的是 Subclipse(Eclipse 的 SVN 扩展)。感谢您的回答,我可以找到this one,这说明,不幸的是,Subclipse 没有管理--keep-local(还没有?)。无论如何谢谢:)
    猜你喜欢
    • 2011-03-02
    • 1970-01-01
    • 2016-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多