WebコミックLibraryhttp://web-comi.appspot.com/ GAE/JとSlim3で作成してみた、各出版社から配信されているWebコミックをまとめて閲覧できるサイトです。只今、実験運用中… |
バージョン1.6.17(Windows版)
前提
- リポジトリparentとなるフォルダを決め、その下に複数のリポジトリを格納します
- 全リポジトリに対する認証を、同一パスワードファイルで管理します
ダウンロード
- Apache Subversionからダウンロード
- 左のメニューの[Getting Subversion]-[Binary Packages]を選択、[Windows]以下のいずれかからダウンロード
- 正式バイナリはCollabNet版だが、アカウント登録が必要。
- 筆者はWin32Svnを利用しています。
インストール(Win32Svn)
- ダウンロードしたSetup-Subversion-x.x.x.msiを実行
設定(初回のみ)
- リポジトリparentとなるフォルダを作成
mkdir [リポジトリparent]
(例) mkdir C:\svnrepos
- Apache 2.2をインストール
- Apacheのhtpasswdでパスワードファイルを作成
- htpasswdコマンドは%APACHE_HOME%/binにあるので、パス指定が面倒ならPATHに追加しておく
- パスワードファイルはリポジトリparentに置いておく。HTTPで参照はできないはず?
- 通常ファイル名は.htpasswdだが、ピリオド始まりのファイル名はWindowsで扱いにくいので、ピリオド始まりにしないほうが良いかも
(ファイル新規作成時) htpasswd -c [リポジトリparent]\[パスワードファイル名] [ユーザー名] (ユーザー追加時) htpasswd [リポジトリparent]\[パスワードファイル名] [ユーザー名]
(例) htpasswd -c C:\svnrepos\svnusers user001 htpasswd C:\svnrepos\svnusers user002
- 下記内容で%APACHE_HOME%/conf/extra/httpd-subversion.confを作成
<Location [リポジトリparentにHTTPアクセスする際のパス]> DAV svn SVNListParentPath on SVNParentPath [リポジトリparent] AuthType Basic AuthName [認証ダイアログのタイトルバーに表示する文字列] AuthUserFile [リポジトリparent]/[パスワードファイル名] Require valid-user </Location>
(例) <Location /svn/repos/> DAV svn SVNListParentPath on SVNParentPath C:/svnrepos AuthType Basic AuthName "Subversion Repository Authentication" AuthUserFile C:/svnrepos/svnusers Require valid-user </Location>
- %APACHE_HOME%/conf/httpd.confの、下記コメントを省き(#を削除)、WebDAVを有効化
#LoadModule dav_module modules/mod_dav.so #LoadModule dav_fs_module modules/mod_dav_fs.so
- %APACHE_HOME%/conf/httpd.confに下記を追加して、WevDAVによるリポジトリへのアクセスを可能する
- どこでも良いが、通常は既存のLoadModule群の直後に追加
- モジュールを%APACHE_HOME%/modulesにコピーする方法もあるが、Apacheバージョンアップ時に再コピーの手間が出てしまうので、コピーをせずにモジュールをフルパス指定する方法を取る
LoadModule dav_svn_module "C:/Program Files/Subversion/bin/mod_dav_svn.so" LoadModule authz_svn_module "C:/Program Files/Subversion/bin/mod_authz_svn.so
- %APACHE_HOME%/conf/httpd.confに下記を追加し、httpd-subversion.confで作成したSubversion用の設定をインクルード
- 通常はファイル末尾に追加
Include conf/extra/httpd-subversion.conf
- Apache再起動
- Webブラウザでhttp://[ホスト]/[リポジトリparent]にHTTPアクセスする際のパス]でアクセスできれば完了
(例) http://localhost/svn/repos/
設定(リポジトリ作成時)
- リポジトリルートとなるフォルダを、リポジトリparentの下に作成
mkdir [リポジトリparent]\[リポジトリルート]
(例) mkdir C:\svnrepos\example
- svnadmin createコマンドでリポジトリ作成
- svnadminコマンドは%SUBVERSION_HOME%/binにあるが、通常はインストール後PATHに追加されている
svnadmin create [リポジトリparent]\[リポジトリルート]
(例) svnadmin create C:\svnrepos\example
- Webブラウザでhttp://[ホスト]/[リポジトリparent]/[リポジトリルート]にHTTPアクセスする際のパス]でアクセスできれば完了
(例) http://localhost/svn/repos/example/
Eclipse 3.5(Galileo)設定(初回のみ)
※Pleiadesの場合は既にインストール済みなので不要
- Galileo更新サイト(http://download.eclipse.org/releases/galileo)より、Subversiveプラグインをインストール
- [Collaboration]-[Subversive SVN Team Provider]をチェックしてインストール
- SVN Connectors更新サイト(http://community.polarion.com/projects/subversive/download/eclipse/2.0/galileo-site/)より、SVN Connectorをインストール
- [Subversive SVN Connectors]-[Subversive SVN Connector][SVNKit 1.3.0 Implementation]をチェックしてインストール
- SVNKitの変わりにJavaHLを使っても良い。好みの問題。SVNKitはPure Javaで、JavaHLはDLLをJNI経由で利用
Eclipse 3.5(Galileo)設定(リポジトリ参照追加)
- [SVN Repository Exploring]パースペクティブを開く
- [SVN Repositories]ビューのコンテキストメニュー(右クリック)より、[New]-[Repository Location...]で[New Repository Location]ダイアログを開く
- [New Repository Location]ダイアログで、リポジトリのURLを入力
- URLはhttp://[ホスト]/[リポジトリparent]/[リポジトリルート]
- ユーザーはhtpasswdで作成したユーザー
- [Save password]にチェックを入れておく
Eclipse 3.5(Galileo)設定(プロジェクト共有)
- [Project Explorer]で共有したいプロジェクトを選択し、コンテキストメニューで[Team]-[Share Projects...]を選択
- ウィザードの[Share Project with SVN Repository]で、[Use existing repository location]を選択し、追加したリポジトリのURLを選択
- [Specify the project(s) location]で、リポジトリ内でのプロジェクトの位置を設定する
- [Advanced Mode]を選択し、[Use Subversion recommended]がチェックされていることを確認
- Subversion推奨のディレクトリ構成(trunk,branches,tag)を使用したいので
- [Advanced Mode]を選択し、[Use Subversion recommended]がチェックされていることを確認
EclipseのFolderのDerived属性
- Eclipseで、バージョン管理したいファイル/フォルダ(パッケージ)が何故か管理されない場合、対象のフォルダ(パッケージ)のプロパティで[Resource]-[Attribute]の[Derived]属性を確認しましょう
- [Derived]がtrueの場合、そのフォルダ(パッケージ)はバージョン管理対象外となります。
- 例えばclassesフォルダみたいに、動的生成されるファイルを格納するフォルダでは[Derived]がtrueになっています。
- ということで、環境によっては、意図しないフォルダの[Derived]がtrueになるので、falseにしてしまえばバージョン管理対象になります。
- [Derived]がtrueの場合、そのフォルダ(パッケージ)はバージョン管理対象外となります。