2013-08-01 96 views
0

這是怎麼沒有明確要求?SVN結帳:忽略文件擴展名

我有一堆大量的回購(.mp3,.mp4,.wav)。不要問,它只是有這個,我無能爲力。

我在找什麼 do在檢出分支時忽略那些文件擴展名。

我已經嘗試在.subversion/config中設置全局忽略,但這不起作用,我還沒有完全弄清楚這是否適用於結帳。

此外,我正在運行cygwin,所以我假設我正在編輯安裝在cygwin中的subversion配置。

任何見識都被讚賞!

回答

2

忽略是爲了防止文件被意外添加到存儲庫中。

假設你是一家C商店。在C中,您的源代碼是.cpp.c文件。當你構建時,你會得到一堆.o目標文件 - 每個源文件一個。你不想添加這些文件,因爲它們會隨着每個版本而改變。

顛覆,像大多數版本控制系統一樣,允許你忽略這些文件 - 只要它們當前沒有被檢入到存儲庫。當你設置忽略選項(有幾種方法可以做到這一點)。當您執行svn status時,這些文件不會顯示爲未知文件。如果您執行svn add $dir,則不會添加它們。

但是,如果文件已經在存儲庫中,那些文件不能被忽略。忽略僅適用於尚未添加的文件。

你可以做的是使用稀疏結賬svn co命令使用--depth參數,而svn up使用--set-depth。您可以使用svn up --set-depth=ignore *.mp3來擺脫工作目錄中的MP3文件。做初步檢查忽略某些文件而不是其他文件是棘手的。

+0

您是否建議我檢查龐大的分支,並立即執行svn up --set-depth = ignore * .mp3 * .mp4等,刪除工作副本並重新簽出,然後這些文件將被忽略? – AlxVallejo

+0

不,這些文件只會在該工作副本中被_ignored_。你刪除它,你必須重新做一遍。如果MP3和MP4文件位於不同的目錄中,則可以使用'svn co -set-depth = none'來獲得一個空的結帳,然後使用'svn up --set-depth = infinity $ dir'來只有你的工作副本中的'$ dir'文件。您不能_ignore_已經在Subversion中的文件。您可以通過使用_sparse_簽出和更新來刪除它們,或者不在工作目錄中使用它們。 –

+0

是的,太令人失望了,但仍然是一個很好的答案 – AlxVallejo