(编辑说明:由于问题仍然没有解决,我也在此处进行了交叉:https://softwareengineering.stackexchange.com/questions/241406/subversion-files-added-although-svnignore-is-set)
在我的应用程序的基本目录中,我设置了:
$ cd .../trunk
$ svn propget svn:ignore .
log
tmp
这是为了确保目录log和tmp免于颠覆控制。
当我在项目中创建许多新文件,并希望将它们添加到subversion时,我通常会做一个
$ svn add --force *
我正在使用--force,因为新文件位于多个子目录中。如果我不使用--force,svn会停止递归查看那些已经受版本控制的目录。
但是,我只是注意到--force似乎也忽略了svn:ignore列表,因为这个命令还添加了tmp树中的文件。
现在我的问题:
(1)我如何才能正确添加那些不被忽略的目录下的新文件?
(2)删除在tmp下面添加的所有新文件和目录以及从版本控制中记录的最简单方法是什么?当然,它们仍应保留在后备箱中。
答案 0 :(得分:0)
仔细阅读svn help
(您必须使用propset
命令,而不是propget
)+ svn help ps
Subversion识别以下特殊版本化属性 目录:
svn:ignore - A list of file glob patterns to ignore, one per line.
您无法为svn定义多行值:在单个命令中忽略:您必须使用-F FILE
选项才能从文件中读取值或使用ps
+ pe
对(propset + propedit)以便有两个被忽略的模式
当你获得svn时:忽略与此相同的结果
>svn pl -v
Properties on '.':
svn:ignore
log
tmp
然后在提交
中忽略这些文件夹中的(未版本控制的)文件>dir /B /S
z:\WC\a.txt
z:\WC\b.txt
z:\WC\log
z:\WC\tmp
...
z:\WC\log\a.txt
z:\WC\log\b.txt
z:\WC\tmp\a.txt
z:\WC\tmp\b.txt
但
>svn st
M .
? a.txt
? b.txt