SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 採用情報 ...
技術者募集中

Subversion 1.7系を CentOSで使いたい

問題

Subversion 1.7っていいよね(1.6よりも)。

CentOS5でパッケージ管理(yum)でSubversion1.6系が使えるようになったのはよかったんだけど(前は1.4系だったから)、今度は1.7系が欲しくなっちゃった。

Subversion1.7

答え

yumでインストールできないなら、自分でコンパイルしましょうか。

以下、手順。

1. ソースをダウンロードして、解凍する

こちら(http://subversion.apache.org/)の、download pageから。

$ wget http://ftp.meisei-u.ac.jp/mirror/apache/dist/subversion/subversion-1.7.5.tar.bz2
$ tar jxf subversion-1.7.5.tar.bz2

2. 足りないライブラリを追加する

SQLiteが必須で、必要だと言われるので、取ってくる。

そのまま configureすると、以下のようにエラーで止まる。

An appropriate version of sqlite could not be found.  We recommmend 3.7.6.3, but require at least 3.6.18.
Please either install a newer sqlite on this system

or

get the sqlite 3.7.6.3 amalgamation from:
    http://www.sqlite.org/sqlite-amalgamation-3.7.6.3.tar.gz
unpack the archive using tar/gunzip and copy sqlite3.c from the
resulting directory to:
/usr/local/src/subversion-1.7.5/sqlite-amalgamation/sqlite3.c

configure: error: Subversion requires SQLite

メッセージにあるURLにはそんなものないようなので、SQLite公式Webサイトに行って、探す。

sqlite-amalgamation-3071300.zipがあるので、ダウンロードして、解凍して、所定の場所(解凍したSubvresionのソースの中)に指定の名前(sqlite-amalgamation)で置く。

$ wget http://www.sqlite.org/sqlite-amalgamation-3071300.zip
$ unzip sqlite-amalgamation-3071300.zip
$ mv sqlite-amalgamation-3071300 subversion-1.7.5/sqlite-amalgamation

3. configure、make、make install する

いつものように、サーバーを立てるためでなくてクライアントが欲しい人はいろいろと削っても困らないかもしれない(–without-berkeley-db –without-apxs –without-swig –without-serf –with-ssl)。

# cd subversion-1.7.5
# ./configure --without-berkeley-db --without-apxs --without-swig --without-serf --with-ssl
# make
# make install

4. バージョンを確認してみる

$ svn --version
svn, version 1.7.5 (r1336830)
   compiled Jul 26 2012, 23:10:32

Copyright (C) 2012 The Apache Software Foundation.
This software consists of contributions made by many people; see the NOTICE
file for more information.
Subversion is open source software, see http://subversion.apache.org/

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.
  - with Cyrus SASL authentication
  - handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
  - handles 'file' scheme

5. 1.6以前のクライアントで管理していた作業コピーを1.7形式にするには

$ cd /path/to/project
$ svn upgrade

これで1.7形式になり、今まではディレクトリごと存在したに.svnディレクトリが、一番上の階層に1つだけとなる。

ファイル検索のときに.svnを巻き込んだりしてうっとうしい思いをしていたら、ぜひ1.7へバージョンアップするとよいでしょう。

関連するメモ

コメント