2009-02-26 65 views
3

由於我們即將開始規劃處理媒體文件(mp3,flv,pdf,圖像)的應用程序,我正在考慮如何處理文件存儲。這些文件會發生變化,應該在一定程度上跟蹤版本,因此想到將SVN集成到應用程序中。把Subversion整合到一個簡單文件存檔的應用程序中是否過分矯枉過正?

現在我想知道,它太多了嗎?我很確定我們只會使用SVN帶來的一小部分功能,所以也許只是指向使用數據庫的文件系統將會一樣好。

另一方面,這些自定義歸檔解決方案總是非常特殊,我希望這次可靠的解決方案。太麻煩了?你怎麼看?

回答

2

我可以用SVN思考的問題是,它會隨着大型二進制媒體(很少,如果有的話,「差異」使用)而相當穩定地增長,並且很難用SVN清除歷史記錄。只要你知道你在做什麼,它應該是OK ...

2

Subversion是真的很簡單,尤其是在Windows平臺上與TortoiseSVN。乍一看,使用它在一個簡單的場景中存檔媒體文件可能不是一個壞主意。

哪裏可能遇到問題是所有這些文件類型都是二進制文件,因此它們不能被區分。因爲你的版本庫會變得非常大,你將無法輕鬆比較兩個版本之間的變化。

我認爲在一個簡單的情況下,這對你來說可能不會有太大影響,所以請你自己敲門!

+0

+1 Subversion。這只是工作,比分佈式VCS更容易掌握。 – 2009-02-26 13:34:33

+0

Subversion生成deltas(這裏稱爲diffing)的方式也適用於二進制文件。當然,如果格式不會導致所有二進制數據即使稍有變化都會改變,那也是非常有用的。 – 2009-02-26 22:28:54

2

有幾件事情需要考慮。

當存儲mp3,flv和pdf文件時,subversion可能不是最佳解決方案。 Subversion的更改跟蹤對文本文件效果最佳,只存儲文件中的更改。支持二進制文件,但顛覆不像普通文件那樣有效。例如,衝突解決方案實際上並不奏效。

您是否將附加信息存儲在數據庫中?如果將有關文件的信息存儲在數據庫中,則在子版本中的事務回退或數據庫中的事務回滾時可能會遇到麻煩。保持數據庫和Subversion同步可能會造成麻煩。我會嘗試拍攝一個解決方案,將所有數據存儲在一個地方。如果你可以在顛覆中存儲所有可能的方法,如果你必須使用額外的數據庫,那麼使用數據庫來存儲文件版本也許是最簡單的。

1

儘管你不能區分文件,但仍然有很好的能力,在發生不良事件時相對容易地恢復到以前的狀態。