2010-03-21 64 views
2

我的Subversion版本庫目前安裝在安裝了Windows和Ubuntu Linux的雙引導系統上。是否可以在兩個操作系統上使用同一個存儲庫,所以如果我使用Ubuntu,我可以啓動svn服務並訪問與Windows一起使用的同一個存儲庫?Subversion版本庫是否兼容(跨平臺)?

例如

  • 倉庫裏的文件會被Linux SVN服務,如果我的筆記本電腦與Ubuntu
  • 運行
  • ,後來由Windows SVN服務訪問時,我用XP
工作訪問

(我不會同時訪問兩個不同subversion服務器的相同文件)

或換句話說:如果Subversion存儲庫已經在Windows分區上創建和使用,我是否也可以使用Linux重新啓動並啓動Subversion服務器以使用同一個存儲庫?

回答

3

Subversion軟件庫與二進制兼容如果他們使用的是FSFS DB格式(cat repos/db/fs-type)而不是Berkeley DB,並且使用兼容版本的Subversion。

Subversion版本說明指示存儲庫格式更改的時間。例如,Subversion 1.5 introduced an optional repository format upgrade支持合併跟蹤,as did 1.4,但Subversion在創建存儲庫時總是使用最新的格式。看起來所有FSFS格式的升級都是可選的,而不是強制的 - 所以你需要做的是確保你的版本庫是由Subversion參與的最早的版本創建的。

2

這不太清楚你的意思。

你是否在Windows上安裝了一個你想從你的Linux系統啓動(並使用)的svn服務?或者你只是想訪問你的存儲庫?

恕我直言,你可以使用正確的工具(Linux上的svnadmin)創建一個存儲庫。這是一個包含您的數據和大量元數據的目錄。該目錄必須以某種方式公開(例如webdav,svn服務)。

從Linux系統訪問svn存儲庫的一種方法是直接訪問存儲庫目錄。例如:svn co file://mnt/Windows_C/path/to/repository/project

雖然您必須使用-o rw來掛載Windows分區。

+0

我更喜歡SVN://協議,因爲它更容易在兩個平臺上使用相同的工作副本。 – mjn 2010-03-21 11:13:32

+0

是嗎?請解釋。 – lajuette 2010-03-21 11:27:51

+0

file:// mnt/Windows_C/path/to/repository/project <> svn:// repository/project所以我需要兩個獨立的工作副本(或每個操作系統更改的重定位) – mjn 2010-03-21 11:56:19

0

是的,工作正常,在工作中我們結合了Windows,OS X,Linux和BSD,全部使用相同的Subversion回購。

+1

直接針對存儲庫,還是在它前面使用apache/svnserve實例?換句話說,你在你的url中使用'file:///','http(s)://'或'svn://'嗎? – 2010-03-21 10:53:11

+0

所有這些客戶端都有自己的顛覆服務器運行?我的問題是關於使用Linux svn服務訪問存儲庫(如果我的筆記本電腦使用Ubuntu運行的話),以及隨後使用Windows svn服務(例如使用XP時)。正如Kevin所言: – mjn 2010-03-21 10:59:11

+0

應該是可以的。 但恕我直言,你根本不需要svn服務,你應該使用'file://'協議。 – lajuette 2010-03-21 17:08:13