新しいディレクトリとファイルの追加

作業コピーを取得した作業用ディレクトリ内で新規ディレクトリとファイルを作成し、リポジトリに反映させる方法について見ていきます。

まず、作業用ディレクトリに移動します。

# cd /home/testuser/work

新規ディレクトリとファイルを作成します。ここでは「page」ディレクトリを作成し、その配下に「page01.html」ファイルを作成しています。

work# mkdir page
work# vi page/page01.html
<html>
<head>
<title>新しいファイル</title>
</head>
<body>
<h1>新しいファイル</h1>
<p>新しいファイルの追加</p>
</body>
</html>

では、ここまでの作業でSubversionはどのように認識しているのでしょう。svn statusコマンドで確かめてみます。

work# svn status
?       page

「?」は、その項目はバージョン管理下にないことを示しています。つまり、Subversionはまだ新規作成したディレクトリとファイルを認識できていません。新しいディレクトリとファイルを認識させるにはsvn addコマンドを使用します。

svn addコマンドは、Subversionに対して、ディレクトリとファイルをリポジトリに追加するように指示します。

work# svn add page/
A         page
A         page/page01.html

引数にディレクトリを指定すると、そのディレクトリ配下にあるサブディレクトリとすべてのファイルが追加されます。(–non-recursiveオプションを指定すれば、そのディレクトリだけを追加することもできます。)

では、svn statusコマンドでもう一度状態を確認してみましょう。

work# svn status
A       page
A       page/page01.html

「A」は、その項目は追加準備されていることを示しています。
これで、Subversionも新規ディレクトリとファイルを認識しましたが、まだ実際にリポジトリに追加されたわけではないことに注意してください。

リポジトリに追加するには、svn commitコマンドによりコミットを実行する必要があります。

work# svn commit -m "新しいディレクトリとファイルの追加"
Adding         page
Adding         page/page01.html
Transmitting file data .
Committed revision 3.

これで、リポジトリにも新しいディレクトリとファイルが追加されました。