Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 如何";svn忽略“;文件,而不覆盖现有的忽略列表_Windows_Svn - Fatal编程技术网

Windows 如何";svn忽略“;文件,而不覆盖现有的忽略列表

Windows 如何";svn忽略“;文件,而不覆盖现有的忽略列表,windows,svn,Windows,Svn,我希望在我们的登记中递归地忽略一些文件,例如/bin和/obj和*。user。我在一个名为.svnignore的文件中列出了所有这些模式,该文件已签入。我可以递归地将此忽略列表应用于每个目录,如下所示: svn propset svn:ignore-R-F.svnignore 当我们添加新项目和东西时,我经常运行这个。但是,现在我只想忽略根目录中的/QEData目录(不是递归的,只是一个实例)。因此,在运行上述命令后,我将运行: svn propset svn:忽略QEData 但是,这似乎会清

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

svn propset svn:ignore-R-F.svnignore

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

svn propset svn:忽略QEData

但是,这似乎会清除根目录上
.svnignore
中的所有模式,并用
/QEData
模式替换它们。如何在不覆盖该目录上现有的忽略的情况下添加到忽略列表

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

这有帮助吗

echo -e "`svn propget svn:ignore`\nQEData" | svn propset svn:ignore -F - .
更新:

这可以作为脚本附加忽略的基础

#!/bin/sh

if [ $# -ne 1 ]
then
    echo -e "Usage: `basename $0` <something to be ignored>\n"
    exit 1
fi

IGNORE=$1

echo -e "`svn propget svn:ignore`\n$IGNORE" | svn propset svn:ignore -F - .
#/垃圾箱/垃圾箱
如果[$#-ne 1]
然后
echo-e“用法:`basename$0`\n”
出口1
fi
忽略=1美元
echo-e“`svn-propget-svn:ignore`\n$ignore”| svn-propset-svn:ignore-F-。

非交互式Windows类型属性

echo NEWSTRING> PATH\TO\TEMPFILE
svn pg PROPERTY >> PATH\TO\TEMPFILE
svn ps PROPERTY -F PATH\TO\TEMPFILE .
del PATH\TO\TEMPFILE
每一个这样的伪pe都会在属性值列表的末尾添加两个空字符串,不管怎样,在处理SVN时都会忽略空行

关于全局忽略的注意事项

和WC一样

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的WC目录:全局忽略模式添加的子目录和该子目录中的文件,匹配和不匹配模式,提交时选择所有需要和仅需要的对象


哎哟,说说黑客!我不敢相信Subversion中的忽略功能会如此糟糕!svn中的忽略功能只是一个属性,很抱歉告诉您:(这很好,但无法轻松地将数据附加到现有属性,也无法继承属性,因此每次添加新目录时,都必须再次递归应用忽略属性。此外,此答案仅添加字符串-e“
svn propget svn:ignore
\nQEData”到我的忽略列表。不过,我会继续胡闹这个想法,如果我找到了工作,我会更新你的答案。哦,应该更具体一点!是的,我需要一个Windows解决方案。谢谢!是的,我认为临时文件将是解决我原来问题的唯一解决方案。但似乎
全局忽略
是解决问题的方法至少我在做。
svn st --no-ignore
?       Sub
I       b.dat