2012-02-25 180 views
5

我想要一個存儲庫完全忽略某些文件 - 相當於將這些文件添加到git系統中的.gitignore。我試過了:SVN不忽略文件

svn propset svn:ignore *.aux" . 

忽略所有.aux文件。然而,這樣做,併成功後svn commitsvn status還表示:

?  something.aux 
!  somethingelse.aux 

有一個更強大的方式來告訴它忽略這些文件,所以他們不會在這樣的列表中顯示出來?

+5

請參閱:http://svnbook.red-bean.com/en/1.5/svn.advanced.props.special.ignore.html。 – 2012-02-25 18:14:18

+2

我假設你在你提到的「svn propset」命令中有一個錯字。不應該有'''(引號)。 – bahrep 2012-11-01 10:25:24

回答

2

這實際上是一個常見問題,我強烈建議您考慮涵蓋它的SVNBook章節"Ignoring Unversioned Items"

請參閱從SVNBook的重要摘錄這也解釋了行爲:

Subversion的用於忽略文件模式的支持僅限於將未版本化的文件和目錄 版本控制的 一次性的過程。一旦對象處於Subversion的控制之下,忽略模式機制就不再適用於它。換句話說,不要 希望Subversion避免僅僅因爲該文件的名稱與忽略 模式匹配而對版本化文件進行更改,因爲Subversion始終注意到它的所有版本化對象。

根據svn status輸出,您的工作副本包含one unversioned item (the one with the '?' sign) and one missing item (the one with the '!' sign)

?  something.aux 
!  somethingelse.aux 

所以,你手動刪除(即通過Windows資源管理器,而不是通過SVN客戶端)的somethingelse.aux,它現在已經「失蹤」狀態。另一個文件something.aux仍然未版本控制,並且不是被忽略。

如果您沒有輸錯svn propset命令,犯下的屬性更改,文件依然未版本控制的狀態你會發現這個摘錄有用:

在SVN中發現的模式:忽略屬性只適用於在其上設置了該屬性的目錄 ,而不是其任何 子目錄。

此外,您可以通過發出svn propget命令來檢查svn:ignore屬性。