有两种方法可以将新文件引入Subversion版本库:svn import和svn add,现在讨论svn import
svn import是将未版本化文件导入版本库的最快方法,会根据需要创建中介目录。svn import不需要一个工作拷贝,你的文件会直接提交到版本库,这通常用在你希望将一组文件加入到Subversion版本库时,例如:
1)首先,服务器管理员在SVN服务器上创建项目版本库newrepos
$ svnadmin create /usr/local/svn/newrepos
2)然后,在客户端使用svn命令把本地文件导入到服务器上的项目版本库
$ 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
Committed revision 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