如何在SVN中创建多个项目的忽略列表?

时间:2010-06-16 09:14:12

标签: svn svnignore svn-propset

我正在使用以下命令行在Windows计算机上创建一个忽略列表:

svn propset svn:ignore "bin" Fardis.Test

目录树结构是:

\src\
\src\Fardis.Test\
\src\Fardis.Test\bin\
\src\Fardis.Test\obj\

我正在运行该命令,而我当前的目录是\src。这工作正常,但我想将另一个文件夹\src\Fardis.Test\obj\添加到忽略列表中,但它失败了。我尝试了以下方法:

svn propset svn:ignore "bin obj" Fardis.Test
svn propset svn:ignore "bin, obj" Fardis.Test
svn propset svn:ignore "bin; obj" Fardis.Test

在发出其中一个之后,svn status显示没有文件夹bin或obj被添加到忽略列表中。

我该如何解决这个问题?

3 个答案:

答案 0 :(得分:24)

我通常会创建一个.svnignore文件。见svn:ignore 然后做:

$ svn propset svn:ignore -F .svnignore .
  property 'svn:ignore' set on '.'

.svnignore:

*.pyc
*~

编辑:我还将.svnignore添加到回购中以跟踪它。

答案 1 :(得分:8)

使用svn propedit代替svn propset,并将每个模式放在编辑器窗口中的单独一行。

另请参阅setting global-ignores in your config了解任何工作副本中应忽略的文件和目录。这通常是从包含大量项目的目录中排除调试和二进制输出的更好方法。

答案 2 :(得分:0)

方法

没有使用global-ignores就有灵活的方法。

例如,您可以创建两个文件:.svn-ignore.svn-ignore-recur

的.svn-忽略-复发

.idea
*.pyc
*.aux
*.out
*.ilg
*.toc
64bit-Debug

的.svn-忽略

.idea
*.pyc
*.aux
*.out
*.ilg
*.toc
64bit-Debug
# below is difference
base
ta.txt
ta.html

然后你应该调用两个命令(序列很重要)。

svn propset svn:ignore -F .svn-ignore-recur . --recursive
svn propset svn:ignore -F .svn-ignore .

因此,您可以通过递归方式忽略某些文件,以及存储库根目录中的其他一些文件。

为了简化问题,合理地创建.sh或/和.bat文件:
!svn的-ignor.bat

svn propset svn:ignore -F .svn-ignore-recur . --recursive
svn propset svn:ignore -F .svn-ignore .


!svn-ignor.sh

#!/bin/sh

sh ./!svn-ignor.bat

当然你应该添加文件:

svn add .svn-ignore* !svn-ignor.*

的其他

很明显,你可以创建像.svn-ignore-some-subdir

这样的文件
*.dvi
*.cot
seven_doo

并致电

svn propset svn:ignore -F .svn-ignore-some-subdir ./sub/sub1/sub2