java_subversion
JavaでSubversionリポジトリにアクセスするあれこれ
JavaからSubversionリポジトリにアクセスする方法としては、知っているところで以下の3つの方法があります。
JNIを使用してアクセスします。Windows用のDLLを使用してアクセスするので、使用できるプラットフォームが固定されてしまいます。
Subversionのサイトで公開されており、Windows用バイナリのダウンロードページで入手することができます。
ViewVC経由で最新版のソースを取得する場合はこちらから、最新版のソースをチェックアウトする場合はこちらから行うことができます。特定のリビジョンのソースを取得する場合、tagsフォルダからダウンロードできます。
JavaHLのページで、ちらほらと使い方をメモっておきます。
http://svnkit.com/ で公開されており、http://svnkit.com/download/index.php からダウンロードすることができます。以前、JavaSVNという名前で公開されており、PureJavaでの実装となっています。そのため、いろいろな環境で動作させることができます。また、JavaHLで定義されているSVNClientInterfaceを実装したSVNClientImplも準備されているので、それを使用することでJavaHLを使用しているアプリケーションを簡単にWindows以外で動作するようにすることができます。
Runtime#exec(String)等を使用して、Subversion本体(svn.exe)を呼び出す方法。メッセージの取得を行うにはストリームを取得して自前で解析する等、それなりに頑張る必要があるかと思います。単にupdateするだけ(どのファイルが更新されたかを知る必要はなく、コンフリクトが発生しても気にしない)といった使い方であればこれでも充分かもしれませんが、やはり(Javaから呼び出す場合は)使い勝手はあまりよくないかと。
方法
JavaからSubversionリポジトリにアクセスする方法としては、知っているところで以下の3つの方法があります。
JavaHL
JNIを使用してアクセスします。Windows用のDLLを使用してアクセスするので、使用できるプラットフォームが固定されてしまいます。
Subversionのサイトで公開されており、Windows用バイナリのダウンロードページで入手することができます。
ViewVC経由で最新版のソースを取得する場合はこちらから、最新版のソースをチェックアウトする場合はこちらから行うことができます。特定のリビジョンのソースを取得する場合、tagsフォルダからダウンロードできます。
JavaHLのページで、ちらほらと使い方をメモっておきます。
SVNKit
http://svnkit.com/ で公開されており、http://svnkit.com/download/index.php からダウンロードすることができます。以前、JavaSVNという名前で公開されており、PureJavaでの実装となっています。そのため、いろいろな環境で動作させることができます。また、JavaHLで定義されているSVNClientInterfaceを実装したSVNClientImplも準備されているので、それを使用することでJavaHLを使用しているアプリケーションを簡単にWindows以外で動作するようにすることができます。
svn.exe
Runtime#exec(String)等を使用して、Subversion本体(svn.exe)を呼び出す方法。メッセージの取得を行うにはストリームを取得して自前で解析する等、それなりに頑張る必要があるかと思います。単にupdateするだけ(どのファイルが更新されたかを知る必要はなく、コンフリクトが発生しても気にしない)といった使い方であればこれでも充分かもしれませんが、やはり(Javaから呼び出す場合は)使い勝手はあまりよくないかと。
2007年03月25日(日) 18:46:00 Modified by syo1976