Solaris -> Solaris10 -> サーバ構築 -> SubVersion

subversion バージョン管理ツール

Subversion概要

Subversionは、バージョン管理ツールである。
CVSと比較して機能が強化されている。

リビジョンの付け方


Revision 番号は、リポジトリ及びファイルに付けられるが、
リポジトリ内のファイルを1でも更新するとリポジトリのバージョンがUPする。

例:
index.css を更新すると repo(リポジトリ)のバージョンもupする
--------------------------------
+repo             r2
    -index.html   r1
    -index.css    r2
--------------------------------

次に、index.html を更新する
--------------------------------
+repo             r3
    -index.html   r3
    -index.css    r2
--------------------------------

上記の場合、各ファイルの revision は飛んでしまう。
(実際のrevision履歴コマンドでみると)

# svn log index.html
--------------------------------------------------------------------
r3 | root | 2008-09-03 12:00:00 +0900  ( 03  9月 2008) | 1 line
r1 | root | 2008-09-01 10:00:00 +0900  ( 01  9月 2008) | 1 line
--------------------------------------------------------------------

# svn log index.css
--------------------------------------------------------------------
r2 | root | 2008-09-02 12:00:00 +0900  ( 02  9月 2008) | 1 line
r1 | root | 2008-09-01 10:00:00 +0900  ( 01  9月 2008) | 1 line
--------------------------------------------------------------------


他のファイルを更新しても、Revisionがupしていまうので、
あるファイルのrevision r1 の次が r500 とかになってしまう。

タグ・ブランチ機能

Revisionが使用しづらいような感じがするが、 
tag機能を使用すればある区切りの時点でのファイルに任意のバージョンを付ける事ができる。

基本的にオリジナルのバージョンは trunk という名前で管理し tags 配下に各バージョンの
ソースを保存することができる。

--------------------------------
-trunk
   index.html
   index.css
-tags
   v1.0
      index.html
      index.css
   v1.3 
      index.html
      index.css
--------------------------------
* v1.0 ,v1.3 は任意で名前を付ける

他にbranchesを作成し、拠点毎に管理が可能
--------------------------------
-trunk
   index.html
   index.css
-branches
   tokyo
      index.html
      index.css
   okinawa
      index.html
      index.css
-tags
   v1.0
      index.html
      index.css
   v1.3 
      index.html
      index.css
--------------------------------
* v1.0 ,v1.3 は任意で名前を付ける





ドキュメント


日本語ドキュメント

環境構築手順

インストール

今回は x86 solaris10 にインストールするのでパッケージは
すべてsunfreeware.com からダウンロードした。

・インストールパッケージ
  subversion-1.4.3-sol10-x86-local

  # pkgadd -d subversion-1.4.3-sol10-x86-local  でインストール。

・以下のライブラリもないと動かないのでインストールした
  openssl-0.9.8h-sol10-x86-local
  gdbm-1.8.3-sol10-intel-local
  libiconv-1.11-sol10-x86-local
  neon-0.25.5-sol10-x86-local

svnserve 設定

リモートからリポジトリの管理を行う場合は、サーバで svnserve を起動する。

起動コマンド

# svnserver -d --root=/export/svn サーバルート /export/svn を指定すると、URLを省略できる。 ポートは tcp/udp 3690 を使用する。
libdb-4.2.so でエラー
初回起動時以下のエラーがでた。
# svnserve -d --root=/export/svn
ld.so.1: svnserve: 重大なエラー: libdb-4.2.so: open に失敗しました: 
ファイルもディレクトリもありません。
強制終了

libdb-4.2.so を検索してみると以下の場所にあったので
/usr/local/lib にリンクを作ることにした。
   /usr/starsuite7/program/libdb-4.2.so

# cd /usr/local/lib
# ln -s /usr/starsuite7/program/libdb-4.2.so libdb-4.2.so

リモートアクセス用URL

svn://192.168.0.10/repo #svn info svn://192.168.0.10/repo で確認する。

アクセス用ユーザ管理

アクセス管理はリポジトリ単位で行う。
リポジトリDIR/conf/svnserve.conf
[general]
# anon-access = read              * anonymous アクセス
# auth-access = write
password-db = passwd              * 認証用のファイルを指定
# authz-db = authz
# realm = My First Repository
リポジトリDIR/conf/passwd
svnuser = password

   先頭へ

      Document-Folder          一覧
HP-UX
HULFT
JAVA
JP1
JavaScript
Linux
MAC
PHP
Perl
Python
Ruby
SOA
Solaris
Unix全般
Windows
XML
エクセル
スタイルシート
セキュリティー
データベース
ネットワーク
パソコン
ブラウザ
プログラム構文
仮想化
          RSS-Folder
ニュース
   アットマーク・アイティ(@IT)
   シンクイット(ThinkIT)
   インターネットコム
   インターネットウォッチ
   日経IT-Pro
   日経パソコン
   CNET Japan
   ZD-NetJapan
   MYCOM
   RBB-Today
ベンダー
   日本IBM
   日本HP
   サンマイクロシステムズ
   NEC
   富士通
   日立
ソフトウェア
   マイクロソフト
   トレンドマイクロ
   オラクル
   サイボウズ
   Mozilla
   野村総合研究所
   (その他ソフトウェア企業)
更新履歴 一覧
 07/08 PERF
プログラム構文
 07/07 PERF
プログラム構文
 06/25 オブジェクトプログラミング2
Perl>サンプル
 07/12 クローン作成
仮想化>vCenter
 07/12 vyatta設定
ネットワーク>vyatta
 07/12 vyattaインストール
ネットワーク>vyatta
 07/12 リポジトリサーバ
Linux>サーバ構築
 07/05 VMwareのインストール
仮想化>VMware
 07/05 PXEブート
仮想化>KVM
 07/01 DHCPでのPXEブート
仮想化>KVM
 06/27 qcow2仮想DISK作成
仮想化>KVM
 06/13 NWの設定
仮想化>VMwareEsxi
 06/13 IPアドレスの変更
仮想化>VMwareEsxi
 06/12 自動ssh
Unix全般>シェル>Bash
 06/12 diffプログラミング
Python
Google