Subversion リポジトリへ新しいファイルを入れるには、以下の二つの方法があります。svn import と svn add です。ここでは、svn import について扱い、svn add については、本章で後ほど Subversion の典型的な一日について再検討する際に扱います。
svn import コマンドは、バージョン管理外のファイルツリーをコピーする手っ取り早い方法です。必要に応じて中間ディレクトリも作成します。svn import には、作業コピーは必要なく、ファイルをリポジトリに即時コミットします。通常、これから Subversion リポジトリで追跡を始めたい、既存のファイルツリーがある場合に使用します。以下に例を示します。
$ svnadmin create /usr/local/svn/newrepos $ svn import mytree file:///usr/local/svn/newrepos/some/project ¥ -m "Initial import" Adding mytree/foo.c Adding mytree/bar.c Adding mytree/subdir Adding mytree/subdir/quux.h リビジョン 1 をコミットしました。
上記の例は、ディレクトリ mytree
の内容を、リポジトリ中のsome/project
ディレクトリの下にコピーしています。
$ svn list file:///usr/local/svn/newrepos/some/project bar.c foo.c subdir/
インポートの完了後、元のツリーが作業コピーに変換されていないことに注意してください。作業を始めるには、このツリーのまっさらな作業コピーを、さらに svn checkout する必要があります。
Subversion の柔軟性により、あなたがしたい方法でリポジトリをレイアウトできますが、開発の「メインライン」のままにしておく trunk
ディレクトリ、ブランチコピーを格納する branches
ディレクトリ、タグコピーを格納する tags
ディレクトリを作成するのをお奨めします。以下に例を示します。
$ svn list file:///usr/local/svn/repos /trunk /branches /tags
タグやブランチについての詳細は、第4章 で学べます。複数のプロジェクトをセットアップする方法の詳細は、「プロジェクトルート」 について リポジトリのレイアウト項 や リポジトリ構成の計画項 をお読みください。