バージョン管理

さて、ソースとか成果物のバージョンを管理しようと思うが
今回は今話題のSubversionを使用しようと思う。
TortoiseSVNというソフトを使用すればできるが
ネットワークでリポジトリを共有化してユーザ管理したい場合には
Subversionもインストールする必要がある。
どうせ自分しか使用しないからSVNサーバは入れる必要がないが、今後のために入れておこう。
TortoiseSVNSubversionとも特にインストで設定する項目はなく、nextボタンを選択するだけで問題なく
インスト完了。
なおSVNサーバとしてsvnserve.exeかapache.exeを使用するかの2通りがあるが、
今回はapacheをインストールして使用することにする。
以下、apacheを使用する場合の注意事項。
(なお、apacheINS=apacheインストールフォルダ,
SvnINS=Subversionインストールフォルダとする)

  • apacheで使用するポートを他のプログラムで使用されていないポートにする。

 デフォルトでは80番ポートを使用しているが、既に使用されている場合はapcheが起動できないため
 使用されていないポートに変更する必要がある。…最初これに気づかなくてはまったw。
 そのためapacheのインストールに失敗してapacheがサービスに登録されないでしまった。
 よって、 
 apacheINS/conf/httpd.conf を開きポートを使用されていないポートに変更する。

Listen 80 ← 空いているポートに変更

  • SVNのモジュールコピー

 SvnINS/bin/以下から、
 mod_authz_svn.so
 mod_dav_svn.so を
 ApacheINS/modules
 intl3_svn.dll
 libdb43.dll を
 apacheINS/bin にコピーする

  • apacheINS/conf/httpd.conf の修正

 ロードモジュールの定義の修正

  LoadModule dav_module modules/mod_dav.so
  LoadModule dav_fs_module modules/mod_dav_fs.so
  のコメントを外す。

  LoadModule dav_svn_module modules/mod_dav_svn.so
  LoadModule authz_svn_module modules/mod_authz_svn.so
  を追加する。


 リポジトリ、パスワードファイルの設定
  LoadModuleの定義後に以下の定義を追加

# クライアントからアクセスするパスの設定
DAV svn
SVNParentPath "d:/svn/repo" # リポジトリの場所
AuthType Basic # Basic認証を行う
AuthName "Subversion repositories"
AuthUserFile "d:/svn/svnpasswd" # パスワードファイルの場所
Require valid-user


以上。
なお、パスワードファイルにユーザを追加する場合は
apacheINS/bin/htpasswd.exe を使用する

htpasswd.exe パスワードファイル名 ユーザ名

と入力すると、パスワードを聞いてくる。
2回入力すると対象のユーザが登録される。
なお、既にユーザが登録されている場合はパスワードが新しいパスワードに変更された。



あと、apacheのインストールする時にポートの使用状況を確認したため以下の
コマンドを使用した。

netstat -ano

そのポートを使用しているプログラムIDも確認できるため、
プログラムIDをタスクマネージャで調べれば使用しているプログラムを知ることが可能。