ちょっと svn を使ってみた限りでは,どーも svn は履歴付きファイルシステムと捉えた方が良い気がしてきた.
cvs は CVSROOT というディレクトリ以下にモジュールがあり,そのモジュールに対してファイルを追加削除して利用する.一方,svn は モジュール自体も単なる1ディレクトリだと考えた方が良さげ.さらに,最新版を入れるディレクトリは trunk, ブランチしたソースは branches におくようにルールを決めてあるみたい.
さらに tag も, 単なるファイルのコピーを tags というディレクトリ以下におくだけと理解すれば良いみたい.実際 svn で,タグを付ける場合は
$ svn copy trunk tags/release_1
のように "copy" コマンドを使うみたい.さらに
$ svn list repo
とすると repo以下にあるディレクトリの一覧が見える.なるほど.
というわけで, project というディレクトリ以下を svn で管理するには,リポジトリにある /project/trunk 以下にファイルを置くと考えて
$ svnadmin create /path/to/repos $ mkdir -p /tmp/project/branches/ $ mkdir -p /tmp/project/tags/ $ mkdir -p /tmp/project/trunk/ $ svn import /tmp/project file:///path/to/repos/project
と, "リポジトリ/porject" に import したほうが良いみたい.
そして,チェックアウトするときは
$ svn co file:///path/to/repos/project/trunk project
とし, project/trunk を 作業コピー project として取り出すと良いみたい.