Mac ServerにSubversionを設定してVersion管理

Version管理をするのにMac ServerのSubversionを使ったときのMemo。

環境はMac mini(Mac OS X Server 10.6.6 - Snow Leopard Server)

SubversionとApacheはInstall済みなので設定のみ。

まずはRepositoryの作成

$ cd /svnroot/Repository
$ mkdir project_name
$ svnadmin create project_name

次はApacheの設定

/etc/apache2/httpd.confを開いてsvnで検索して、以下の2行のCommentを外して有効にする。

LoadModule dav_svn_module libexec/apache2/mod_dav_svn.so
LoadModule authz_svn_module libexec/apache2/mod_authz_svn.so

その他大まかな設定は今後のことも考えて「Server Admin」Appから行った。

  • 別portのsiteを追加。
  • Aliasは全て削除。Logの管理とかは適当に

これで「保存」。次にsubversionの設定を直接Apacheの設定Fileに追記する。

$ cd /etc/apache2/sites/
$ sudo vi 0002_any_8080_.conf

最後の方に以下の設定を追記。

<Location /svn>
        DAV svn
        SVNListParentPath On
        SVNParentPath "/svnroot/Repository"
</Location>

Server Adminの「webを停止」 → 「webを開始」で再起動。再度修正して「保存」するとDAVが上書きされるので注意。

これで、http://192.168.0.xxx/svn/にAccessするとDirectoryが見えるはず。あとはTortoiseとか使って、実際にCheck outして確認。

Commitで失敗したときは権限の確認。Apacheが書き込みできないとErrorになるので、

$ sudo chown -R _www /svnroot/Repository

その他ハマったのが、(svnのlocationを使わずに)Top Directoryに設定したかったけど、方法がわからなかった。

Error: Repository moved permanently to 'http://192.168.0.xxx/project_name/'; please relocate

と怒られてしまう。この場合はapacheのsiteにQ&Aがある。Locationで指定しないとダメなのかな・・・。

LANのみで使うためSecurityの設定はまた別の機会に。

最後にVersion管理するProjectを追加するときの手順をMemo。

  1. $ cd /svnroot/Repository
  2. $ svnadmin create project_name
  3. $ sudo chown -R _www project_name/
  4. tortoiseで「http://192.168.0.xxx:8080/svn/project_name」をCheck out
  5. branches, tags, trunkを作成してCommit。

ついでにTortoiseのIcon Overlaysの設定も貼りつけ

image

 

<Related Post>