2009-03-06 111 views
1

這不是嚴格的是一個技術問題,但我覺得這對許多技術人員也是有用的。版本管理/備份解決方案

我正在尋找一個版本管理/備份解決方案,不需要只有的源代碼。這可能適用於非文本文件,例如圖片。

要求是這樣的 -

  1. 每次我將文件從應用程序中保存,它應該創建一個版本。
  2. 我應該可以添加評論說,主要修訂。
  3. 在任何時候,應該只有一個版本目前。
  4. 我應該能夠查看以前的版本而不做'恢復'
  5. 我應該能夠在版本之間來回移動。
  6. 顯示一個文件的不同版本的日曆功能,將是有益的,如果我能得到它從資源管理器上下文菜單中的特定文件

我並不真的需要比較不同版本或任何東西像那樣。

僅限Windows解決方案。我已經看過NTI Shadow,它有點接近我在找的東西。

是否有上述要求的付費/免費/開源解決方案?

回答

1

幾乎所有我知道的支持二進制上傳的版本控制系統。 Subversion(簡稱SVN)免費且很受歡迎。如果您還下載TortoiseSVN,則可以在資源管理器中處理所有內容。

我不能幫你的唯一要求是1.自動從應用程序中保存。但是,您當然可以通過在文件系統中複製舊版本的文件並通過TortoiseSVN提交更改來完成此操作。

PS由於某種原因,我現在無法連接到SVN網站。它現在可能會下降。它仍然是一個偉大的產品,雖然:)

0

我強烈建議使用顛覆。我使用了4種不同的版本控制系統,並發現顛覆功能強大且易於使用。

對於Windows,這是最容易安裝的服務器是Visual SVN

而且Smart SVN是最好的顛覆客戶端我使用。

0

[不是一個實際的答案,只是一個約DVCS備份功能注]

我不會建議對DVCS(分佈式版本控制系統)如Git或類似的備份策略。

正如DVCS Myths

說那麼,爲什麼做這麼多備份的源代碼管理服務器的備份?

  • 許多服務器不可能同時遭受災難性的硬件故障,但這並非不可能。
  • 更可能的情況可能是一個特別令人討厭的計算機病毒,它陷入了整個脆弱機器網絡。

在任何情況下,任何或所有備份變得突然不可用的概率實際上不是重點。
底線是使用獨立克隆作爲規範備份(而不是臨時止損)是次優策略。

  • 安全,例如,應予以考慮。
    如果您使用授權規則來控制對存儲庫特定部分的訪問,則規範化存儲庫的任意克隆會有效地呈現這些規則無用的規則。
    雖然這在控制企業環境中很少成爲實際問題,但它仍然是可能的。
  • (我稱輸入:) 完整數據備份是不是真的有可能用DVCS,因爲這將意味着所有庫推動他們改變了「中央」資料庫,這是不是在DVCS主要使用情況(而用傳統的VCS,任何犯被存儲在一個地方)

因此,備份DVCS的關鍵勝利在於,您並不需要投資「熱」備份
當服務器不可避免地出現故障時,DVCS會爲您提供時間。很多時間。在從備份重建服務器的過程中,您將基本上以完整的生產力(或幾乎如此)運行。
當服務器停機時間創建的變更集被推回到恢復的服務器時,新重新恢復的授權規則將被重新應用,您將回到正軌。

所以,對我們來說:

  • 熱「備份」實際上是與SRDF(Symmetrix遠程數據設備)來實現,但這是商業和鏈接到我們的基礎設施支持LUNs複製來實現數據複製。
  • 增量日常備份是針對有限的一組存儲庫(包括一些「中央」Git倉庫)實現的,但在我們的情況下,使用自定義工具。
0

我認爲你正在尋找版本控制文件系統的好處,它在每次寫入時都會對文件進行不可變的快照。如果在版本化目錄中包含的文件(每次更改文件時都會提交)設置監視器,但您可以將其構建到DVCS中,但這會變得很難,很快。

此主題也在this question中探討。我認爲你理想的解決方案是駐留在某種類型的版本控制/牛文件系統上的DVCS存儲庫。這使您可以獨立於您在DVCS中進行的提交來管理每個文件的修訂版本。

除非,當然,有毒的修訂版本不會成爲你的問題。

0

爲了讓應用程序透明(即不需要讓應用程序實現不同的API來保存/加載文件以訪問這些備份功能),您需要在操作系統中執行此操作,在其文件系統層。

ZFS filesystem可能會被打包以提供您描述的用戶界面功能,但是懷疑這個文件系統是否會到達Windows(至少直接)。

想到這個問題的一種簡單方法是查看可以爲您提供所需功能的網絡存儲系統。

NetApp Snapshot提供了可以在網絡存儲級別執行此操作的功能。它實現了CIFS,所以在Windows上絕對可用。打開你的錢包。

如果您認爲這是一個非常重要的功能,您可以考慮其他操作系統比Windows; Windows以外的操作系統中的文件系統和文件系統支持更加多樣化。