2010-09-30 29 views
1

我使用SVN作为我的VCS。 我有一个文件夹,我保持用户上传的文件。很明显,我不需要版本控制下的那些。但是,文件夹中有一个文件,我需要 - .htaccess。如何在svn中指定否定模式:忽略值

它已经在版本控制下,但是如何指定我需要除.htaccess之外的所有其他文件?

我遇到了这篇文章:ThoughtsPark.org: Using negative patterns for Subversion's svn:ignore property,但给出的方法对我来说有点神秘,我无法让它工作。

在此先感谢!

+0

我有点困惑。如果他们的文件不在版本控制中,那么他们需要忽略的问题是什么? (我经常这样做,而不用忽视,也许我错过了一些东西。) – JoshD 2010-09-30 07:43:18

+0

如果我的文件夹树很深,有很多文件,那么不需要的文件就会使用SVN客户端。这是一个小小的障碍。最主要的是我不能确定其他一些开发者不会错误地提交他们的文件。你看。大多数人都不会注意,但只要一个开发人员就能做到这一点就足够了。 – Nasko 2010-09-30 07:58:29

+0

您正在使用哪个客户端? – JoshD 2010-09-30 16:05:06

回答

1

这个想法是,你创建一个文件模式匹配除.htaccess以外的所有文件。在文章中,他们使用字符类来制作这种模式。

E.g.

[^a]* 

匹配任何第一个字母不是a的文件。如果你指定完整的.htaccess文件名是这样,这将无法正常工作,但下面为你工作:

[^.]* 

这将忽略任何文件不以点开头。

+0

时,他们看到了它们。虽然它们使用稍微不同的语法...我应该使用您的语法还是它们的语法? – Nasko 2010-09-30 07:54:21

+0

我不明白什么是不同的。他们在每一行都有一个模式,这很好。它们匹配扩展名(即文件名的末尾),因此它们具有'* foo',其中星号匹配任何内容。如果你想匹配一个以点开头的文件名,你可以使用'。*'。不以点开头的文件名是'[^。] *'。也就是说,除了点之外的东西,其次是任何东西。 – Sjoerd 2010-09-30 08:29:17

+1

'不同的语法'我指的是否定字符。使用* [!x],当您使用[^ a] * – Nasko 2010-10-01 18:37:19

3

Subversion不会将svn:ignore中的模式应用于已经版本化的文件。所以在你的例子中,模式*应该没问题。只要忽略未版本控制的一切。

+0

schot时,感谢您的提示!这对我来说适合手头的情况,但仍然不能回答我的问题 – Nasko 2010-10-01 18:32:56