有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java远程SVN管理

我正在编写一个Java应用程序,从远程机器执行各种SVN操作(提交、复制等)。我使用SVNKit API从Java应用程序访问SVN

我还需要执行一些管理操作,例如创建用户和存储库。这些操作无法通过SVNKit API甚至SVN命令行界面使用。通常,这些操作将直接在SVN服务器上执行,使用svnadmin或等效的GUI

(使用SVNKit到create a local repository是可能的,但我需要在远程机器上创建一个存储库)

因此,我的选择似乎是:

  1. 从java编程连接 使用SSH或 类似,然后使用Runtime.exec() 运行svnadmin

  2. 在运行svn服务器的机器上部署一个web应用程序(如this one),然后使用HTTP从java应用程序连接到它

  3. 将一个驱动器从java应用程序机器映射到svn服务器机器(两者都是windows机器),然后从前者运行svnadmin,将路径作为参数提供给后者

是否有其他方法从远程计算机执行这些管理任务


共 (1) 个答案

  1. # 1 楼答案

    由于svnadmin本身不能远程工作(如其文档中明确说明的),因此您的问题与从远程计算机运行任何其他本地应用程序没有什么不同

    顺便说一句,你的选择3is not advisable

    Do not create a Berkeley DB repository on a network share—it cannot exist on a remote filesystem such as NFS, AFS, or Windows SMB. Berkeley DB requires that the underlying filesystem implement strict POSIX locking semantics, and more importantly, the ability to map files directly into process memory. Almost no network filesystems provide these features. If you attempt to use Berkeley DB on a network share, the results are unpredictable—you may see mysterious errors right away, or it may be months before you discover that your repository database is subtly corrupted.