2010-09-30 60 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