2011-03-17 83 views
8

在我看來,像.classpath這樣的文件上添加屬性svn:ignore會是一個好主意。我使用Windows(工作,ugh)和Linux開發環境,每次與存儲庫同步時,它都會覆蓋我工作的任何機器上的.classpath。SVN:忽略how-to和什麼?

我嘗試在Team Sync透視圖中右鍵單擊.classpath文件,但svn:ignore選項灰顯。

任何想法我可能:1.將此項目從源代碼管理中取出,2.將它添加到忽略列表中?

任何其他文件的智能添加到此列表?

回答

8

在命令行:

svn rm --keep-local .classpath 
svn pe svn:ignore . 

第一個命令從SVN刪除.classpath同時保持本地文件。第二個命令可讓您編輯svn:ignore。將「.classpath」添加到屬性中。

一般規則是,任何編譯輸出,機器特定或用戶特定的文件都不應該進行版本控制,然後將其添加到svn:ignore。我並不熟悉Java或Eclipse,因此我不能通過名稱來提及任何文件。

+1

請注意'--keep-local'爲你保留這些文件,但是將它們移除給後來運行'svn update'的其他人。 – 2011-03-17 21:38:10

+0

我打算在週末解決這個問題。感謝您的答覆! – 2011-03-18 19:00:45

+0

@SanderRijken我使用類似 'find -iname「*」-type d -execdir svn rm --keep-local .settings .classpath .project target \; ' 刪除但保留本地所有我忽略的文件。 (這使用linux find命令。) – alfonx 2014-12-16 23:14:53

3

要獲得svn:ignore,請記住svn:ignore是文件系統條目的屬性。這意味着您需要使用svn propedit svn:ignore(編輯屬性)。

你應該忽略什麼?任何從別的東西構建的東西。所有編輯可能實施的「鎖定文件」。所有臨時文件。一些配置文件需要開發人員之間的差異(但是,您應該檢入模板的名稱略有修改,如config.template)。基本上,任何你不想檢入的東西。

這聽起來像你正在使用非命令行客戶端。也許客戶端被配置爲不允許你修改這個文件(或者它的屬性)。也許這是一個不同的問題。我會建議安裝一個命令行客戶端,因爲錯誤將會更加冗長(並且不會像您的「灰色」顏色那樣受到解釋)。

賠率是很好的,你將不得不svn:首先刪除文件(複製它,否則你將失去唯一的副本),並將「刪除」提交回存儲庫。然後,將.classpath文件的目錄放到svn:ignore列表中,將「.classpath」添加到該目錄。

+0

subclipse確實是eclipse的客戶端 – 2011-03-17 21:38:58

+0

我打算在週末解決這個問題。感謝您的答覆! – 2011-03-18 19:01:04

+0

祝你好運,這不像看起來那麼難! – 2011-03-18 20:12:41