リポジトリへのインポート

今回はリポジトリへファイルをインポートして、バージョン管理とはどういったものなのかを簡単に紹介します。

まず、以前の記事でも触れていますが、Subversionでバージョン管理を行う場合、開発を進める上で標準的に推奨されるリポジトリのレイアウトがあります。

それに従い、リポジトリの最上位階層(/)に「trunk」「tags」「branches」という3つのディレクトリをリポジトリに追加します。

追加先となるリポジトリは前回の記事で作成した「/home/svn/repos01」を使用します。以下手順はSubversionをインストールしたマシン上で行います。

リポジトリ追加ディレクトリ・ファイル作成

いきなり、リポジトリに追加するのではなく、一度、任意の一時ディレクトリを作成し、そのディレクトリ内に上記した3つのディレクトリを作成します。ここでは一時ディレクトリとして「/tmp/tmpdir」を作成します。

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

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

# vi /tmp/tmpdir/trunk/index.html
<html>
<head>
<title>初めてのSubversion</title>
</head>
<body>
<h1>初めてのSubversion</h1>
<p>初回のリポジトリ登録</p>
</body>
</html>

リポジトリへインポート

では、これで準備が整ったので、ここまでに作成したディレクトリ・ファイルをリポジトリへ追加します。

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

# cd /tmp/tmpdir

リポジトリへ追加するにはsvn importコマンドを使用します。

tmpdir# svn import file:////home/svn/repos01 -m "First Commit."
Adding         trunk
Adding         trunk/index.html
Adding         branches
Adding         tags

Committed revision 1.

svn importコマンドの引数にリポジトリURLを指定します。「file://」で始まる見慣れないURLとなっていますが、これはローカルファイルシステム上でリポジトリを探すようSubversionに指示しています。(Subversionをインストールしたマシンとは別のマシンからインポートする場合は、URLの最初の部分(スキーム)は「http://」「https://」「svn://」などを指定することになります。「file://」はローカル上でのみ使用できます。詳細は別の記事で紹介します。)

-mオプションを使用して、このインポートに対して任意のメッセージを付与することができます。サンプルでは簡略なメッセージとなっていますが、何を何の目的でインポートしたのかなど、後からその意図を読み取れるようなメッセージを指定しておくのが望ましいです。

これで、4つのディレクトリ・ファイルがリビジョン1としてリポジトリに登録されました。

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