Essential Software Guide BookシリーズSubversion入門

[表紙]Subversion入門

紙版発売

A5判/272ページ

定価2,838円(本体2,580円+税10%)

ISBN 978-4-7741-4246-3

ただいま弊社在庫はございません。

→学校・法人一括購入ご検討の皆様へ

書籍の概要

この本の概要

本書は,バージョン管理システムとして現在広く使われているSubversionについて,初歩から解説した入門書です。Subversionクライアントの使い方から始まり,サーバの構築/運用/管理まで解説しています。必ず知っておきたい機能,よく使う操作を厳選して紹介していますから,「すぐに使えるようになりたい」「ひとまず最低限の使い方をマスターしたい」という方にもお勧めです。独習書としてはもちろんのこと,開発現場における新人向けのテキストとしても最適の1冊です。

こんな方におすすめ

  • ソフトウェア開発の仕事に携わっている方
  • ソフトウェア開発者を目指している方
  • バージョン管理システムに興味のある方

目次

序章 Subversion Bootcamp

  • 0-1 作業コピーの作成
  • 0-2 ファイルの編集
  • 0-3 ファイルの追加
  • 0-4 ファイルの移動
  • 0-5 ファイルの削除
  • 0-6 ファイル名の変更
  • 0-7 コミット: リポジトリへの反映
  • 0-8 アップデート: 他者の作業の取り込み
  • 0-9 えっ?  たったこれだけ?

1章 「バージョン管理」という考え方

1-1 バージョン管理って何?

  • 最も原始的なバージョン管理――バックアップコピーを作る
  • バックアップコピーの問題点
  • バージョン管理システムによる問題の解決
  • バージョン管理システムの限界

1-2 バージョン管理システムのアーキテクチャ

  • リポジトリ
  • 作業コピー
  • ツール
  • サーバ

1-3 バージョン管理システム「Subversion」

  • なぜSubversionなのか
  • TortoiseSVN:Windows用クライアント

2章 1人で使うSubversion

2-1 リポジトリの作成

2-2 作業コピーの作成

  • リポジトリからのチェックアウト
  • リビジョンとは何か
  • リポジトリと作業コピーの関係

2-3 作業コピーで作業する

  • ファイルをリポジトリに追加する
  • ファイルの内容を変更する
  • アトミックなコミット
  • ファイルを移動/削除/名称変更する

2-4 履歴を使ってできること

  • 履歴と差分の確認
  • 作業コピー中のファイルとの差分の確認
  • WordやExcelのファイルに対する差分確認
  • 変更の取り消し

2-5 リポジトリの直接操作

  • リポジトリブラウザでの操作
  • リポジトリ内のファイルを表現するURL

2-6  リポジトリの内容をエクスポートする

3章 Subversionでチームを効率化しよう

3-1 「ファイル共有」の問題点

3-2 リポジトリへの接続

3-3 他者による変更を作業コピーに反映

  • アップデート時の状況
  • 複数人で作業する場合のコミット
  • コミット前には作業コピーの内容をチェック
  • 特別なリビジョンの表現: HEADとBASE

3-4 同一のファイルに対する変更の発生

3-5 変更の競合とその解消

  • 競合が発生する状況
  • 手動で競合を解消する
  • 一方の変更を無条件に受け入れる
  • バイナリファイルの競合の解消

3-6 他者による変更を確認する

3-7 ロックによる競合の回避

  • ロックの考え方とそのデメリット
  • Subversionにおけるロックの基本
  • ロックのチェックと横取り

3-8 作業コピーのクリーンアップ

3-9 リポジトリの移動に対応する

3-10 特定のリビジョンに名前を付けてみる

  • タグ付けの前準備
  • タグ付けの実際

4章 ブランチとマージ

4-1 ブランチという考え方

  • ブランチとトランクの関係
  • ブランチの作り方
  • ブランチでの作業

4-2 マージによる変更の反映

  • マージという概念
  • 作業コピーのアップデートに伴うマージ
  • ツリー間でのマージ

4-3 マージの実際

  • すべての変更をマージ
  • マージ範囲はどのように決定されるのか
  • 変更を選択的にマージ
  • 選択的にマージする場合のマージトラッキング
  • ブランチの再統合
  • 競合の解消

4-4 ブランチとマージのベストプラクティス

  • リリースブランチ
  • 大きな修正には修正用ブランチを使う
  • ブランチの利用は最小限に

5章 Subversionサーバを作ろう

5-1 ネットワーク上でのリポジトリの公開方法

5-2 Apacheによるリポジトリの公開

  • リポジトリの作成
  • リポジトリの公開

5-3 さまざまなアクセス制御

  • ベーシック認証を利用したアクセス制御
  • ダイジェスト認証を利用したアクセス制御
  • パスワードファイルの準備
  • ダイジェスト認証の設定

5-4 LDAPを使ったアクセス制御

  • LDAPサーバの準備
  • LDAPサーバへのデータの登録
  • LDAPサーバの情報を利用したアクセス制御

5-5 読み込み/書き込み権限の設定

5-6 パス単位にアクセス権限を付与する

  • パスベースアクセス制御の有効化
  • パスベースアクセス制御の基本的な設定方法
  • グループの定義
  • すべてのユーザを示す「*」

5-7 複数リポジトリの公開方法

  • SVNParentPathを利用する方法
  • リポジトリを1つ1つ公開する方法

6章 高度な話題

6-1 ファイルを一括してリポジトリに登録する

6-2 属性

  • 属性の操作
  • 属性変更の競合
  • Subversionが利用する属性
  • リビジョン属性

6-3 フック

  • フックスクリプトの準備
  • フックスクリプトのテンプレート
  • フックとリポジトリの相互作用
  • メール送信用スクリプトmailer.py
  • イベント

7章 リポジトリの管理

7-1 リポジトリ構成の検討

  • 1リポジトリnプロジェクト
  • 1リポジトリ1プロジェクト

7-2 管理用ツールsvnadmin

  • create
  • dump
  • hotcopy
  • load
  • lslocks
  • pack
  • rmlocks
  • setlog
  • setrevprop
  • upgrade

7-3 リポジトリのバックアップ

  • 単純なコピーによるバックアップ
  • svnadmin hotcopyによる一括コピー
  • hot-backup.pyによるバックアップ
  • バックアップの確認

7-4 リポジトリのダンプとロード

  • リポジトリの内容をダンプする
  • ダンプからの復元
  • svndumpfilterによるパスのフィルタリング

7-5 複数リポジトリの同期

  • svnsyncの考え方
  • svnsyncによるミラーリングの実現
  • svnsyncの利用における注意点

付録

A-1 TortoiseSVNのインストール

  • TortoiseSVNの入手
  • TortoiseSVNのインストール
  • 日本語用言語パックのインストール
  • 基本的な設定

A-2 GNU/LinuxへのSubversionのインストール

  • Ubuntuへのインストール
  • CentOSへのインストール
  • CentOSでSELinuxを有効にしている場合

A-3 コマンドラインからの使い方