Essential Software Guide BookシリーズSubversion入門
2010年5月26日紙版発売
佐藤竜一 著
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 コマンドラインからの使い方
この本に関連する書籍
-
Jenkins実践入門 ~ビルド・テスト・デプロイを自動化する技術
ビルドやテストを自動化し,問題発見を容易にして,品質の高いソフトを効率的に開発するためのツールとして,あのApache Software Foundationでも多くのプロジェクトで...
-
改訂新版 BIND9によるDNSサーバ構築
BINDは,最もよく使われているDNSサーバの名称です。本書は,目的ごとの例を示しながら,必要な情報にアクセスできるように作られています。手っ取り早く構築の概要が知...
-
zshの本
zshはBourne Shellをベースにtcshやkshの拡張機能を取り込んだUNIX系シェルの1つですが,“z”という文字が表しているようにまさに最後のシェルと呼ばれるにふさわしい高...
-
Trac入門――ソフトウェア開発・プロジェクト管理活用ガイド
『ソフトウェア開発における必須のプロジェクト管理ツール・Trac』Tracは,もはやソフトウェア開発に欠かすことができないプロジェクト管理ツールです。基本的には,情...