主に IT 技術を整理するためにメモ的に書き溜めています。少しだけフリーソフトもあるよ。コメントを残すには、 facebook を使ってください。

CentOS に Subversion を導入する

最終更新日 2007-06-10 00:13:31 (1年以上前の記事です)

最近 Linux と Windows を交互に切り替えて使ってるので、共有レポジトリでバージョン管理したいなと思い、
SVN をセットアップしてみた。そのときのメモ。
ただなんか色々調べてると Mercurial というのが結構あついみたいだね。
Mercurial - Mercurial
Windows から使いづらそうだったのでパスしたけど。

インストール

いつものように rpmforge にパッケージがあるので、以下のコマンドを実行するだけ。
# yum install mod_dav_svn subversion
rpmforge を yum レポジトリに追加する方法は CentOS 5 で DAG(rpmforge) の yum repository 追加 を参考。

設定

まずは webdav モジュールを有効にするため /etc/httpd/conf/httpd.conf を修正する。
以下のようにコメントを外して mod_dav を有効にする。

# vi /etc/httpd/conf/httpd.conf
LoadModule dav_module modules/mod_dav.so

次にパッケージをインストールすると、 /etc/httpd/conf.d/subversion.conf というのがインストールされているので、
subversion を有効にするため、 以下の行のコメントを外す。

# vi /etc/httpd/conf.d/subversion.conf
LoadModule dav_svn_module     /usr/lib/httpd/modules/mod_dav_svn.so
LoadModule authz_svn_module   /usr/lib/httpd/modules/mod_authz_svn.so
...
<Location /repos>
   DAV svn
   SVNParentPath /home/svn
#
#   # Limit write permission to list of valid users.
#   <LimitExcept GET PROPFIND OPTIONS REPORT>
#      # Require SSL connection for password protection.
#      # SSLRequireSSL
#
#      AuthType Basic
#      AuthName "Authorization Realm"
#      AuthUserFile /path/to/passwdfile
#      Require valid-user
#   </LimitExcept>
</Location>

これで http://localhost/repos にアクセスすると /home/svn 配下にある SVNParentPath を参照するになるらしい。
ちなみに、 SVNParentPath とは、そこで指定したディレクトリはいかが全てレポジトリであることを指定している。

レポジトリの作成

次に試しにレポジトリを作ってみる。新しいレポジトリ名を Test として作成。

# mkdir /home/svn
# svnadmin create /home/svn/Test
# chown -R apache:apache /home/svn/Test
レポジトリを作成したら、 apache の設定をリロードさせてエラーが出ないか確認してみよう。
# service httpd reload
エラーが出なければ成功でしょう。いざ http://localhost/repos/Test にアクセスしてみる。

レポジトリの管理

とりあえずこの状態でレポジトリへの追加ができるかどうか試してみましょう。

Windows

まずは Windows からだけど、俺は Visual Studio が大好きなので、ankhsvn というめちゃくちゃ便利な GUI ツールを使ってみました。
Visual Studio のプラグインであっという間に Solution を SVN で管理できて超便利。
とにかくダウンロードしてインストールしてみましょう。
ダウンロードは ankhsvn: Documents & files: 1.0 からできる。

インストールして Visual Studio (2003) を起動し、ためしに新しいプロジェクトを作成してみた。
[ソリューションエクスプローラ] でソリューションを右クリックすると [Ankh] というのが新しく追加されていて、
その中に [Add solution to Subversion repository...] というのが見つかる。



これをクリックすると、追加したいレポジトリを入力する画面が出てきて、
ここで先ほど追加したレポジトリを入力する。



あとはダイアログに従っていくだけで、 SVN に追加できてしまった。
その他 co や update 、 log や diff も GUI で全部できるみたい。 Visual Studio ユーザにはとても便利なプラグイン。

Linux

今度は Linux からですが、手始めに先ほど Windows で ci したレポジトリを co してみた。

$ svn co http://localhost/repos/Test/
A    Test/AssemblyInfo.cs
A    Test/WindowsApplication2.csproj
A    Test/Form1.resx
A    Test/Form1.cs
A    Test/App.ico
A    Test/WindowsApplication2.sln
Checked out revision 1.
できた。実に簡単。次は ci してみよう。
$ export SVN_EDITOR=vi
$ svn ci Test/Form1.cs
ここで vi が起動しコメントがかける。
Sending        Test/Form1.cs
Transmitting file data .
Committed revision 2.

どうやら ci されたようだ。
その他のコマンドは後で svn コマンド一覧でも作ろうかな。
後は今のままだと誰でも ci できてしまうので、次回はこれを ssh で制限させたりする必要もありそうだ。

最終更新日 2007-06-10 00:13:31

コメント このエントリーをはてなブックマークに追加

フリーソフトウエア
EnjoiFLV
EnjoiPacket
EnjoiCrypto
ランキング
rank1, rank2, rank3, rank7, rank9, rank10, rank11
todo メモ
facebook 対応
ページ処理
RSS feed
検索機能
認証いる?
更新日表示
実はカテゴリ機能
多言語
実はユーザ機能
ソースその内公開
動作環境メモ
php-5.1.6 with PDO
SQLite-3.3
IE6
FireFox-1.5
RSS
非認証

検索
Google