リポジトリの作成からチェックアウトまで

今回はリポジトリの作成からチェックアウトまでの一連の流れを見ていきます。

リポジトリレイアウトを決める

リポジトリを作成する前に、まずリポジトリのレイアウトを決めます。

ひとつのリポジトリに複数のプロジェクトを格納しても問題ありませんが、1プロジェクト毎に1リポジトリ用意した方が良いでしょう。(ただ、管理上の都合等もあるため、それにこだわる必要はありません。)
詳細は「リポジトリのレイアウト」を参照してください。

今回は以下のリポジトリを作成します。

/home/svn/repos10

リポジトリの作成

リポジトリの作成は以下のコマンドで行います。

# svnadmin create /home/svn/repos10

※リポジトリの設定を初期値から変更したい場合は「SVNリポジトリ作成と設定」を参照してください。

これで空のリポジトリができたので、次はバージョン管理するものをリポジトリへインポートします。

一時ディレクトリ・ファイル作成

リポジトリへインポートするディレクトリとファイルを準備します。

まず、以下の一時ディレクトリを作成します。

# mkdir /tmp/tmpdir

Subversionでバージョン管理を行う場合、開発を進める上で標準的に推奨されるリポジトリのレイアウトがあります。
それに従い、リポジトリの最上位階層(/)に「trunk」「tags」「branches」という3つのディレクトリをリポジトリに追加します。

# mkdir /tmp/tmpdir/trunk
# mkdir /tmp/tmpdir/tags
# mkdir /tmp/tmpdir/branches

続けて、リポジトリへインポートする任意のファイルを作成します。ここではテスト用のHTMLファイルを作成します。

# vi /tmp/tmpdir/trunk/index.html

リポジトリへインポート

リポジトリへのインポートはsvn importコマンドを使用します。
まず、カレントディレクトリをリポジトリに追加するディレクトリとファイルが格納されているディレクトリに移動します。

# cd /tmp/tmpdir

続けて、svn importコマンドを実行します。

tmpdir# svn import file:////home/svn/repos10 -m "初回のコミット"
Adding         trunk
Adding         trunk/index.html
Adding         branches
Adding         tags

Committed revision 1.

これで、「/tmp/tmpdir」配下のディレクトリとファイルがリポジトリ「repos10」へインポートされました。

リポジトリへのインポートが終わったら、一時ディレクトリ「/tmp/tmpdir」は、その配下のファイルごと削除してしまっても構いません。

作業ディレクトリ作成

ここまでの手順を終えた段階で、リポジトリ「repos10」にはバージョン管理対象とするものが既に格納されていることになります。

次は、リポジトリ「repos10」からデータを取り出しローカル(自分のPC)に保存する作業(チェックアウト)を行います。

まずは、リポジトリから取り出したデータを保存するための作業ディレクトリを作成します。

# mkdir /home/testuser/work10

チェックアウト

チェックアウトはsvn checkoutコマンドを使用します。

まず、カレントディレクトリを先ほど作成した作業ディレクトリに移動します。

# cd /home/testuser/work10

続けて、チェックアウトします。

work10# svn checkout file:///home/svn/repos10/trunk .
A    index.html
Checked out revision 1.

リポジトリへインポートした「index.html」ファイルが取得できました。

これでチェックアウトは完了です。