2010-12-13 13 views
0

リモートマシンからさまざまなSVNアクション(コミット、コピーなど)を実行するJavaアプリケーションを作成しています。 SVNKit APIを使用してJavaアプリケーションからSVNにアクセスします。リモートSVNの管理

また、ユーザーやリポジトリの作成など、いくつかの管理操作を実行する必要があります。これらのアクションは、SVNKit API、またはSVNコマンドラインインターフェイスでは利用できません。通常、これらは、svnadminまたは同等のGUIを使用して、SVNサーバー上で直接実行されます。

(それはcreate a local repositoryにSVNKitで可能であるが、私は、リモートマシン上のリポジトリを作成する必要があります)

だから、私のオプションがあるようだ:

  1. はプログラム上にJavaの アプリからの接続SSHまたは同様 を使用してのsvnサーバは、その後、ウェブアプリを展開するRuntime.exec()svnadmin

  2. 実行するために使用します実行しているマシンのsvnサーバー上の陽イオン(this oneのように)、その後、HTTPを使用してJavaアプリから接続

  3. は、元からsvnadminを実行し、SVNサーバマシンへのJavaアプリのマシンからドライブ(両方がWindowsマシンですが)、地図引数として後者へのパスを提供する

リモートマシンからこれらの管理タスクを実行する他の方法はありますか?

答えて

0

svnadminはリモートで動作しません(そのマニュアルで明示的に述べられているように)、リモートコンピュータから他のローカルアプリケーションを実行しても問題はありません。

ところで、あなたのオプション3 is not advisable

は、ネットワーク上でBerkeley DBリポジトリ を作成しないでくださいシェア - それは に、このようなNFS、AFS、 またはWindows SMBなどのリモートファイルシステムを存在することはできません。バークレーDBは を必要とします。 は、厳密なPOSIXロック セマンティクスを実装しています。さらに重要なのは、 のプロセスメモリに直接ファイルをマップする機能です。ほとんどのネットワークはこれらの機能を提供していません。 あなたは ネットワーク共有上でBerkeley DBを使用しようとすると、結果は 予測できないが、すぐに神秘的な エラーが表示されている、またはあなたの リポジトリデータベースが破損 が微妙であることを発見する前に、それは数ヶ月 かもしれません。

+0

私はFSFSリポジトリを作成しているので、この警告は無関係です(しかし、情報に感謝します) –

関連する問題