Subversionを使った際のメモを書いていきます。
自分の家で作ったコードを会社でも見たい事があったので、リポジトリをインターネットからアクセスできる場所に置きたくなりました。
Linuxの知識が乏しいのとメンテをするのが面倒なので、どこかのレンタルサーバー借りてSubversion入れて使おうかな…と思いながら情報収集していると以下のようなページが見つかりました。
さらに情報収集をしていると、最初からSubversionが標準で入っているレンタルサーバー「BLOCKGROUP - ブロックグループ」を見つけました。
ラクなのでこれ使っていたのですが…あららー、最近BLOCKGROUPが潰れてしまった模様。
BLOCKGROUPのサービスの停止は2008年6月26日23時59分の様です
しかも夜逃げ同然なスピード閉鎖…あ~ぁ
次の移転先サーバーはどうしようかな~?と思っていたら、会社の同僚にCORESERVERというサーバを教えてもらいました。
CGIもある程度揃っていて、容量も15ギガで良さげです。
これの前身?のXREAというサーバーもやってるらしいので、実績もまずますです。
とりあえず、サーバはここに決定!!
しかし最初からSubversionが入っているのは良いが、バージョンが古いためBLOCKGROUPから移植してきたリポジトリが使えない!
ということで、安定バージョンの中で新しいバージョン(1.5.0)をインストールして使うことにしました。
以下の説明の元ソースです。
Linux初心者には、こういう解説はものすご~くありがたいです。
以下のWebページの作者に感謝
mkdir ~/tmp
cd ~/tmp tar xvzf db-4.7.25.tar.gz cd db-4.7.25/build_unix/ ../dist/configure --prefix=$HOME/packages --enable-compat185 make make install※「make」もしくは「make install」時にkillされたりエラーが出たりして止まってしまった場合はもう一度行う。
cd ~/tmp tar xvzf subversion-1.5.0.tar.gz tar xvzf subversion-deps-1.5.0.tar.gz cd subversion-1.5.0 ./configure --prefix=$HOME/packages --with-ssl --with-berkeley-db=$HOME/packages make make install※「make」もしくは「make install」時にkillされたりエラーが出たりして止まってしまった場合はもう一度行う。
export PATH=/virtual/ユーザー名/packages/bin:$PATH※当然、ユーザー名の所は自分のユーザー名を入れてね
cd ~ source .bashrc
svn --version
svn, version 1.5.0 (r31699) compiled Jul 3 2008, 20:44:31 Copyright (C) 2000-2008 CollabNet. Subversion is open source software, see http://subversion.tigris.org/ This product includes software developed by CollabNet (http://www.Collab.Net/). The following repository access (RA) modules are available: * ra_neon : Module for accessing a repository via WebDAV protocol using Neon. - handles 'http' scheme - handles 'https' scheme * ra_svn : Module for accessing a repository using the svn network protocol. - handles 'svn' scheme * ra_local : Module for accessing a repository on local disk. - handles 'file' scheme * ra_serf : Module for accessing a repository via WebDAV protocol using serf. - handles 'http' scheme - handles 'https' scheme
svnadmin --version
svnadmin, version 1.5.0 (r31699) compiled Jul 3 2008, 20:44:31 Copyright (C) 2000-2008 CollabNet. Subversion is open source software, see http://subversion.tigris.org/ This product includes software developed by CollabNet (http://www.Collab.Net/). The following repository back-end (FS) modules are available: * fs_base : Module for working with a Berkeley DB repository. * fs_fs : Module for working with a plain file (FSFS) repository.
svnserve --version
svnserve, version 1.5.0 (r31699) compiled Jul 3 2008, 20:44:31 Copyright (C) 2000-2008 CollabNet. Subversion is open source software, see http://subversion.tigris.org/ This product includes software developed by CollabNet (http://www.Collab.Net/). The following repository back-end (FS) modules are available: * fs_base : Module for working with a Berkeley DB repository. * fs_fs : Module for working with a plain file (FSFS) repository.
前記の「CORESERVERにSubversion安定版の新バージョン(1.5.0)をインストールする」を見てSubversionを新しいバージョンにインストールしておく事。
これを行わないとリポジトリのバージョン違いによって以下のエラーが出て使えません。
svn: Expected format '3' of repository; found format '5'
新しいバージョンにインストールすると、BLOCKGROUPにあった「repository」フォルダを置くだけで使えるようになります。
例えば、カレントにリポジトリのフォルダ「repository」を置いた場合、アクセスするURLは以下の通りです。
svn+ssh://ユーザー名@http指定のサーバー名/virtual/ユーザー名/repository
svn+ssh://username@s99.coreserver.jp/virtual/username/repository
svn+ssh://ユーザー名@puttyセッション名/virtual/ユーザー名/repository
svn+ssh://username@coreserverhost/virtual/username/repositoryいちいち秘密鍵・公開鍵のKey passphraseを入れるのがめんどくさい!という方は、作成時にKey passphraseを空にすると聞いてこなくなります。
「post-commit」自体は、コミット後に実行するスクリプトの設定です。
ほとんどの人はこのフックの利用には、リポジトリのコミットやバックアップに関する連絡メールを送るのに使う様です。
この設定を何もしていないのに、警告が出る場合はpost-commitを無効化してしまいましょう。
post-commit.tmpl post-commitを以下の様にリネームすると実行されなくなります。
post-commit.tmpl_ post-commit_