我刚开始使用SVN,在源代码控制下有一个不需要的缓存目录。如何忽略SVN的整个目录/文件夹?

我在OS X和命令行上使用版本和TextMate。


当前回答

如果项目目录名为/ project,缓存目录名为/ project / cache,则需要在/ project上设置subversion属性。属性名为“svn:ignore”,属性值为“Cache”。

有关属性的更多信息,请参阅Subversion手册中的此页。

其他回答

在父目录上设置svn:ignore属性:

$ cd parentdir
$ svn ps svn:ignore . 'cachedir'

这将覆盖svn:ignore的任何当前值。你可以编辑值:

$ svn pe svn:ignore .

这将打开您的编辑器。您可以添加多个模式,每行一个。

您可以通过以下命令查看当前值:

$ svn pg svn:ignore .

如果你使用的是GUI,应该有一个菜单选项来做这件事。

杰森的回答会管用的。然而,与其在缓存目录上将svn:ignore设置为“。”,不如在父目录的svn:ignore属性中包含“cache”,以防缓存目录不总是存在。我在一些“一次性”文件夹上这样做。

忽略多个条目的命令有点棘手,需要反斜杠。

svn propset svn:ignore "cache\
tmp\
null\
and_so_on" .

该命令将忽略当前目录中命名为cache、tmp、null和and_so_on的所有内容。

为了稍微扩展一下,如果您使用svn命令行工具执行此操作,您需要键入:

svn propedit svn:ignore path/to/dir

这将打开您选择的文本编辑器,然后键入'*'以忽略其中的所有内容,并保存+quit -这将包括svn中的目录本身,但忽略其中的所有文件,忽略目录,使用父目录的路径,然后在文件中键入目录的名称。保存后,运行更新('svn up'),然后检入相应的路径。

设置svn:ignore属性。大多数UI svn工具都有办法做到这一点,以及链接中的命令行讨论。