windows - 如何在不覆盖现有忽略列表的情况下将文件设为 "svn ignore"

标签 windows svn

我想在我们的登记中递归地忽略一堆文件,例如 /bin/obj*.user .我在一个名为 .svnignore 的文件中列出了所有这些模式,该文件已 checkin 。我可以递归地将此忽略列表应用于每个目录,如下所示:

svn propset svn:ignore -R -F .svnignore .

当我们添加新项目和东西时,我经常运行它。但是,现在我想忽略根目录中的/QEData目录(不是递归的,只是一个实例)。因此,在运行上述命令后,我运行:

svn propset svn:ignore QEData .

但是, 似乎清除了根目录中 .svnignore 中的所有模式,并将它们替换为 just /QEData 模式。如何添加到忽略列表而不覆盖该目录上的现有忽略?

注意:我正在寻找可以在 Windows 和/或 PowerShell 上编写脚本的答案。

最佳答案

非交互式 Windows 类型的 propedit

echo NEWSTRING> PATH\TO\TEMPFILE
svn pg PROPERTY >> PATH\TO\TEMPFILE
svn ps PROPERTY -F PATH\TO\TEMPFILE .
del PATH\TO\TEMPFILE

每个这样的伪 pe 都会在属性值列表的末尾添加两个空字符串,SVN 在处理时忽略空行

关于全局忽略的注意事项

svn propget svn:global-ignores -v
Properties on '.':
  svn:global-ignores
    *.dat

和厕所一样

dir /B /S
z:\WC\a.txt
z:\WC\Sub
z:\WC\b.dat
z:\WC\Sub\c.dat
z:\WC\Sub\d.txt

有状态

svn st --no-ignore
?       Sub
I       b.dat

即,简而言之 - 如果进入具有定义 svn:global-ignores 模式的 WC 目录,在该子目录中添加子目录和文件,匹配和不匹配模式,提交时选择 TortoiseSVN 所有需要的只需要个对象

TSVN Commit

关于windows - 如何在不覆盖现有忽略列表的情况下将文件设为 "svn ignore",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24290474/

相关文章:

windows - WiX Burn Bootstrapper - 无法检测注册表项

windows - 将证书导入受信任的根而不是个人 [命令行]

Windows 批处理 : How to keep empty lines with loop for/f

svn - 无法 svn import 但可以 svn checkout

svn - 使 svn checkout 需要密码

Eclipse 正在重命名我的 svn 存储库中的文件

windows - Win32 工具提示在 Commctl 6 中消失,永远不会重新出现

c++ - 在代码中 - 删除包含文件的文件夹

.net - 对于 .Net 项目,我应该从源代码管理中排除哪些文件扩展名?

svn - 2/3 程序员最好的免费协作平台是什么?