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

Afs*_*bbi 5 svn svnignore svn-propset

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

svn propset svn:ignore "bin" Fardis.Test
Run Code Online (Sandbox Code Playgroud)

目录树结构是:

\src\
\src\Fardis.Test\
\src\Fardis.Test\bin\
\src\Fardis.Test\obj\
Run Code Online (Sandbox Code Playgroud)

我在当前目录中运行该命令\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
Run Code Online (Sandbox Code Playgroud)

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

我怎么解决这个问题?

小智 24

我通常会创建一个.svnignore文件.请参阅svn:ignore 然后执行:

$ svn propset svn:ignore -F .svnignore .
  property 'svn:ignore' set on '.'
Run Code Online (Sandbox Code Playgroud)

.svnignore:

*.pyc
*~
Run Code Online (Sandbox Code Playgroud)

编辑:我将.svnignore添加到repo也跟踪它.

  • 不幸的是,这与Git一样不能递归地工作.您可能需要添加`-R`参数以将文件内容应用于所有当前存在的(不是将来的!)子目录,但子目录的模式可能是错误的. (2认同)

sha*_*tor 8

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

另请参阅配置中的设置global-ignores,以查找应在任何工作副本中忽略的文件和目录.这通常是从包含大量项目的目录中排除调试和二进制输出的更好方法.