SVN使用import导入数据到版本库

有两种方法可以将新文件引入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

 

 

这将本地目录myproj导入到版本库的trunk/misctrunk/misc在导入之前不需要存在—svn import会递归的为你创建目录。

$ svn import -m "New import" myproj http://svn.red-bean.com/repos/trunk/misc
Adding         myproj/sample.txt
…
Transmitting file data .........
Committed revision 16.

需要知道这样会在版本库创建目录myproj,如果你希望这样,请在URL后添加myproj

$ svn import -m "New import" myproj http://svn.red-bean.com/repos/trunk/misc/myproj
Adding         myproj/sample.txt
…
Transmitting file data .........
Committed revision 16.

在导入数据之后,你会发现原先的目录树并没有纳入版本控制,为了开始工作,你还是要运行svn checkout得到一个干净的目录树工作拷贝。

你可能感兴趣的:(svn操作)