2009-12-16 49 views
7

傳統上,svn可直接從命令行或通過像Tortoise這樣的GUI客戶端使用。在應用程序中使用subversion作爲版本控制引擎

是否有任何使用svn實現版本控制的完全成熟的應用程序示例?

而不是使用關係數據庫管理系統,我可以想像,有可能場合的svn存儲庫可以作爲一個基於文件的版本持久化層。是否有任何根本的重複,爲什麼這將是一個壞主意?

回答

3

Google Code使用Subversion來管理項目的wiki頁面的版本。您的wiki顯示爲Subversion存儲庫中的文件夾。 Google代碼有一個開源的克隆名爲Longhouse。來自項目描述:

Longhouse採用獨特的方式存儲項目數據並使數據可訪問,以XML格式將信息存儲在組織的Subversion存儲庫中。這意味着您可以編輯Longhouse Web UI以外的任何項目工件,將修改後的XML文件提交到Subversion存儲庫,並讓Longhouse自動考慮您的更改。

就個人而言,我會謹慎嘗試版本的大型XML文件。我用Freemind思維導圖試了一下,我不得不合並的幾次是噩夢。我的直覺是,YAML會更適合,但更改縮進級別可能會導致頭痛。當你需要將數據文件放在版本控制下時,可能只是避免使用多個級別的大文件是最好的選擇。

更新:正如Josh Kelley評論的那樣,還有其他一些wiki引擎可以使用版本控制系統(RCS)進行數據存儲。根據WikiMatrix,Twiki,PhpWiki,JSPWiki,Foswiki,MoniWiki和MidgardWiki是前25名中支持此功能的人。

+0

+1提及維基。同樣,其他幾個wiki使用RCS版本控制系統而不是數據庫:http://www.wikimatrix.org/wiki/feature:rcs – 2009-12-16 20:21:39

2

我不知道任何具體的例子(還沒有找到它......),但有一個功能齊全的SVN API綁定,稱爲SharpSvn,如果有幫助。 (AFAIK它內部使用像AnkhSvn這樣的GUI工具。)

我認爲有很好的變化,找到一些相關的示例代碼。

HTH。

相關問題