2010-12-13 91 views
0

我正在寫一個Java應用程序,它執行遠程機器上的各種SVN操作(提交,複製等)。我使用SVNKit API從我的Java應用程序訪問SVN。遠程SVN管理

我還需要執行一些管理操作,例如創建用戶和存儲庫。這些操作不能通過SVNKit API或甚至SVN命令行界面使用。通常這些將直接在SVN服務器上執行,使用svnadmin或相當於圖形用戶界面的GUI。

(這是可能的SVNKit到create a local repository,但我需要在遠程計算機上創建一個存儲庫)

這樣看來我的選擇是:

  1. 編程方式從Java 應用程序連接使用SSH或 類似SVN服務器,然後使用Runtime.exec() 運行svnadmin

  2. 部署Web APPLI陽離子(如this one)執行svn服務器上,然後從Java應用程序中使用HTTP

  3. 地圖從Java應用機SVN服務器機驅動器(兩者都是Windows機器)連接到它,然後運行從以前svnadmin,爲後者提供路徑作爲參數

是否有任何其他方式從遠程計算機執行這些管理任務?

回答

0

由於svnadmin本身並不遠程工作(作爲其文件中明確說明),你的問題是沒有運行從遠程計算機上的任何其他本地應用程序不同。

順便說一句,你的選項3 is not advisable

不要建立在網絡上的Berkeley DB版本庫 份額,它不能 存在一個遠程文件系統,比如NFS,AFS, 或Windows SMB。 Berkeley DB要求 表示底層文件系統 實現嚴格的POSIX鎖定 語義,更重要的是, 能夠將文件直接映射到 進程內存。幾乎沒有網絡 文件系統提供這些功能。如果 您嘗試使用Berkeley DB一個 網絡共享,結果是不可預知的 ,您可能會看到神祕 錯誤向右走,或者你發現你的 數據庫已經 損壞之前它可能是幾個月 。

+0

我將創建一個FSFS版本庫,所以這個警告是無關緊要的(但感謝信息) – 2010-12-13 11:29:40