有两种方法可以将新文件引入 Subversion 版本库:svn import 和 svn add,我们将在本章讨论 svn import,而会在回顾 Subversion 的典型一天时讨论 svn add。
svn import 是将未版本化文件导入版本库的最快方法,会根据需要创建中介目录。svn import 不需要一个工作副本,你的文件会直接提交到版本库,这通常用在你希望将一组文件加入到 Subversion 版本库时,例如:
$ svnadmin create /var/svn/newrepos
$ svn import mytree file:///var/svn/newrepos/some/project \
-m "Initial import"
Adding mytree/foo.c
Adding mytree/bar.c
Adding mytree/subdir
Adding mytree/subdir/quux.h
Committed revision 1.
在上一个例子里,将会拷贝目录mytree到版本库的some/project下:
$ svn list file:///var/svn/newrepos/some/project bar.c foo.c subdir/
注意,在导入之后,原来的目录树并没有转化成工作副本,为了开始工作,你还是需要运行 svn checkout 导出一个工作副本。
尽管 Subversion 的灵活性允许你自由布局版本库,但我们有一套推荐的方式,创建一个 trunk
目录来保存开发的“主线”,一个 branches
目录存放分支拷贝,tags 目录保存标签拷贝,例如:
$ svn list file:///var/svn/repos /trunk /branches /tags
你将会在第 4 章 分支与合并看到标签和分支的详细内容,关于设置多个项目的信息,可以看第 7.1 节 “版本库布局”和第 2.1 节 “规划你的版本库结构”中关于“项目根目录”的内容。