在已受控制的文件上添加svn:ignore属性

时间:2013-06-20 16:38:20

标签: java eclipse svn version-control svnignore

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

  1. 本地临时备份
  2. 在本地删除它们并提交(或远程删除并更新)
  3. 从备份本地重新添加它们(步骤#1)
  4. 添加svn:ignore属性并提交
  5. 问题是其他开发人员在更新之前也必须备份他们的文件,因为他们的本地文件将在更新时被删除。任何其他限制较少的解决方案,或者我真的必须发送“请在更新前备份!”电子邮件?

1 个答案:

答案 0 :(得分:2)

您应该使用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代替
  4. 注意:您只能在最后提交,因为它是相同的操作(即&#34;清洁属性&#34;)。

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