java - 添加svn :ignore property on files that already are under control

标签 java eclipse svn version-control svnignore

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

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

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

最佳答案

您应该改用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 )

关于java - 添加svn :ignore property on files that already are under control,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17219092/

相关文章:

java - 关于Java中选择合适的数据结构的问题

java - 在 Eclipse 中自动生成函数注释

java - 将 DLL 导入 Eclipse Java 项目

eclipse - 在 Eclipse 中管理多个分支,或为 Eclipse 获取类似 VS 的设置

svn - 为什么要使用svn switch?

linux - Linux 上的 Subversion CLI 默认文本编辑器

java - 如何对十六进制字符串进行base-64编码

java - 在 XSL 转换期间读取并替换 XML 中的常量

c++ - 用于 Mac 的 Eclipse C++ GDB 调试器

svn - Subversion是否可以有效地存储OpenXML Office文档?