2010-07-10 36 views
0

我正在尋找Subversion使用的數據庫設計(關係模型)。 我正在一個應該能夠合併,版本和任何其他類似的顛覆操作的項目。SVN數據庫設計

有沒有人知道任何描述Subversion表的站點?

在此先感謝!

回答

3

看看this page,它描述了兩種數據庫格式(Berkeley DB和FSFS)。

顛覆source code包含在subversion/libsvn_fs_base/notes文件夾中的數據庫的信息 - 有一些historydescription和模式的diagram

您也可以查看源代碼本身。例如,這個包含的代碼與創建一個BDB數據庫:

https://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_base/fs.c?view=markup

,也有源代碼,數據庫中的每個表:

https://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_base/bdb/

你可以轉儲的內容數據庫中的表格:

db4.8_dump YOUR_REPO/db/revisions # or 'changes', or 'locks', or... 
+0

嗨理查茲,實際上即時尋找的表是如何的BerkeleyDB的,而不是SVN如何堅持裏面的數據。如果我可以研究顛覆數據庫設計(表格和關係),我可以得到一些想法來改進我的工作。 – CHAPa 2010-07-10 11:11:48

+0

我已經擴展了我的答案,並鏈接到了Subversion源代碼。那裏有關於BDB模式的信息。 但是,您還應該看看FSFS格式:它是爲了克服BDB格式的問題而引入的(例如,FSFS更快,佔用更少的磁盤空間並且不易於損壞)。現在FSFS是默認格式。 – 2010-07-10 14:08:49