記載日:2009/02/19
Mac OS 10.5.6 ターミナル 2.0.1 Subversion 1.5.5

1.Subversion リポジトリにリソースを新規追加

ここでは、 Subversion のクライアントツール(svnコマンド) を使用して フォルダやファイルといったリソースを SVNリポジトリ にコミットし、 これらリソースを Subversion の管理下に置く方法を紹介します。 大きな流れとしては Subversion に新規フォルダ/ファイルの追加を明示する手順(add)と、Subversionに追加するとしたフォルダ/ファイルを格納する手順(commit)の2つになります。

今回、SVNで管理されたフォルダ「/tmp/FreeTry」 に 「005.リソースを新規追加」 という名前のフォルダを作成し、その中に「原稿.txt」というファイルを作成しました。

まだ SVNリポジトリ を作成していない方は  リポジトリ新規作成(svnadmin)  を、ローカルのフォルダを Subversion の管理下においてない方は  チェックアウト(subversion)  に記事を掲載していますので参考にしてみてください。

2.リソース追加の手順

2-1.addコマンドでリソースを追加とマークする

新しくリソースを追加したSVN管理下のフォルダ(今回は「/tmp/FreeTry」)に移動します。

test$ cd /tmp/FreeTry/
test$

ここで、追加したいディレクトリ(今回は「005.リソースを新規追加」)を svn の add コマンドの引数に指定します。

test$ svn add "005.リソースを新規追加"
A         005.リソースを新規追加
A         005.リソースを新規追加/原稿.txt

これでリソースの追加が完了しました。出力の左端の "A" が追加(Add)を表しています。また、Add コマンドのデフォルトでは、指定したフォルダ配下のリソースも再帰的に追加対象となるので、配下の"原稿.txt"の方は何も指定せずに追加対象となりました。もし、指定したディレクトリのみを追加したい場合は --non-recursive オプションを指定し実行する必要があります。

この時点では、"新しいファイルをSVNで管理します" とマークしただけで、まだSVNの管理下に置かれたわけではないので注意しましょう。

3.追加リソースをコミット

3-1.commitコマンドで追加リソースをSubversionに登録

リソースを追加とマークしたら、 SVNリポジトリ に追加内容を反映するためにコミットを行います。

※SVNでは、コミットのタイミングでリビジョンという管理番号が1つ繰り上がるので、同じ目的で複数のリソースを追加した場合はコミット前に全て追加しておきましょう。

先ほどの、リソース追加したディレクトリ上で svn の commit コマンドを実行します。コミットの際にはコミットログが必須になります。これは、変更内容をコメントで残しておくことで今回のコミットが何の目的で行われたのかを明確にするためです。コミットの際には、誰が何の目的でコミットしたかがセットで記録されることになります。作業中のユーザー名と別の ユーザー名で Subversion へのコミットを行いたい場合は、 --username オプションを指定して明示する必要があります。

test$ svn commit --username profaim -m "現行作成-svn commit方法"
Password for 'profaim':
Adding         005.リソースを新規追加
Adding         005.リソースを新規追加/原稿.txt
Transmitting file data .
Committed revision 1.

今回は、 "test" という名前のユーザーで作業をしており、Subversion へは "profaim" という名前のユーザーでコミットを行いました。ユーザー認証が設定されていた場合、パスワードを尋ねられるので入力します。

これで、先ほど追加とマークしていたリソースが送信され、Subversion へ登録されました。 Commited revision 1. というのは今回が1番目のコミット。つまりこのリポジトリに初めて行われたコミットだということを表しています。今後、コミットの度に2、3、…と増えていきます。

以上で 新規のリソースを Subversion のリポジトリで管理することができました。