2009-07-17 58 views
8

我在版本控制下有一個項目,但項目中有一些經常更改的圖像,視頻和zip文件。我不想將這些文件存儲在版本控制下,因爲它們佔用了大量空間並且更新和提交速度非常慢。在版本控制下存儲非源文件的最佳做法

什麼是處理這個問題的一個很好的方式,仍然承諾已更改非源文件?有沒有更好的辦法?

我目前使用的顛覆,如果有另一個版本控制客戶端,它是處理這個問題比較好,請推薦一下!

回答

3

您的評論說:

我有這樣的問題是,我不關心那些ZIP /視頻文件的歷史版本,只要它們是最新的,沒有問題。

這意味着你有一個線性工作流程的開發,只在一個主分支的最新工作。
你似乎不應對階段「上映後」,在那裏你必須:

  • 保持在什麼樣的生產運行
  • 發展小變陣...
  • ..while做大規模重構用於試驗一些大變陣

在過去三年情況下,「請問是什麼確切圖像,視頻和zip文件‘我必須使用’或‘我是用的時候’可能b是出的問題很重要。無論如何,如果你覺得SVN不適當地處理它們,我仍然會建議你有一些方法來記住,對於SVN修訂版xxx到yyy,你使用的是你的二進制文件版本'z'。
爲此,您可以設置一個外部存儲庫,如Maven。看到問題「Is it acceptable/good to store binaries in SVN?」(我在該問題中的回答接近頁面頂部,但我直接鏈接到Evan的答案,因爲他提到了Maven)。

+0

+1,我打算迴應OP的評論,但你已經明白了。 – 2009-07-17 14:44:27

6

我有很多的SVN非源文件和唯一的一次它會減慢當我改變他們的承諾是。如果他們只是「每隔一段時間」更換一次,我都不會看到這是一個問題。這個尺寸真的不應該成爲一個問題。如果您的存儲庫位於服務器上,並且擔心需要升級多少空間,則需要升級。硬盤很便宜。買他們。

有些人強烈地感受到非源文件沒有在源代碼控制屬於,我說整個項目應存放在源代碼控制。這樣,如果我的開發系統出現故障,我可以切換到另一個,在幾分鐘後下載該項目,我回到編碼。

+0

對於該答案+1。另外,從我的角度來看,一切都必須按照版本控制的使用順序排列。如果你的非項目文件沒有被結構化...將它們留在版本控制之外。 – bastianneu 2009-07-17 06:54:52

1

雖然我覺得這是一個巨大的痛苦,以應對版本控制非文本文件,特別是那些改變了很多,我已經接受了「如果需要爲構建/安裝它,它應該在實踐中版本控制「。這當然不是一個硬性規定。我不保留版本控制下的第三方庫(儘管知道誰在做)。

我來到我的店鋪建立一個持續集成服務器後,根據本意見。擁有可能會改變的構建所需的一切,使其變得更容易。正如前面提到的,我不會將libs保存在版本控制下,但這是由於我們很少升級/添加新庫。如果您的店鋪不是這種情況,那麼您可以考慮這樣做。另外,如果您的圖片/視頻/ zip文件每年更改一次,那麼我建議您將它們保留在版本控制之下。

+0

我遇到的問題是,我不關心這些zip/video文件的版本歷史記錄,只要它們是最新版本,就沒有問題。這是我不希望他們進行版本控制的另一個原因,感覺就像我沒有正確使用版本控制,因爲當我沒有使用它們時,它會存儲所有這些不同的版本。 – 2009-07-17 05:46:38