分类:
2010-12-08 00:32:41
一旦svnserve已经运行,它会将你系统中所有版本库发布到网络,一个客户端需要指定版本库在URL中的绝对路径,举个例子,如果一个版本库是位于/usr/local/repositories/project1
,则一个客户端可以使用svn://host.example.com/usr/local/repositories/project1
来进行访问,为了提高安全性,你可以使用svnserve的-r
选项,这样会限制只输出指定路径下的版本库,例如:
使用-r
可以有效地改变文件系统的根位置,客户端可以使用去掉前半部分的路径,留下的要短一些的(更加有提示性)URL:
$ svn checkout svn://host.example.com/project1 …
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 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