如果你没有创建一个版本库,根据下面的Apache服务器设置指令第 3.1.4 节 “配置”。
为了验证svnserve正常工作,使用 → 来查看版本库。
假定你的版本库位于c:\repos\TestRepo,你的服务器叫做localhost,输入:
svn://localhost/repos/TestRepo
当被版本库浏览器提示输入。
你也可以使用--root选项设置根位置来限制服务器的访问目录,从而增加安全性和节约输入svnserve URL的时间:
svnserve.exe --daemon --root drive:\path\to\repository
使用前面的测试作为指南,svnserve将会运行为:
svnserve.exe --daemon --root c:\repos
然后TortoiseSVN中的版本库浏览器URL缩减为:
svn://localhost/TestRepo
注意,在svnserve和版本库位于不同分区时也需要--root选项。
|
|
警告 |
|---|---|
|
不要创建和访问网络共享上的Berkeley DB版本库,它不能存在于一个远程的文件系统,即使是影射到盘符的共享。如果你希望在网络共享使用Berkeley DB,结果难以预料-你可能会立刻看到奇怪的错误,也有可能几个月之后才发现数据库已经损坏了。 |
3.2.3.1. 以服务形式运行svnserve
如果你关心有必须有用户登录才能运行svnserve,或者担心有人关闭了svnserve而忘了重新启动,可以将svnserve设置为windows服务,从Subversion1.4开始,svnserve可以作为windows服务安装,在以前可以使用包裹器安装。
为了将svnserve安装为windows服务,执行下面的命令,就会创建一个会随windows自动启动的服务。
sc create svnserve binpath= "c:\svnserve\svnserve.exe --service --root c:\repos" displayname= "Subversion" depend= tcpip start= auto
|
|
提示 |
|---|---|
|
Microsoft现在建议服务运行于本地服务或网络服务帐户,参考The Services and Service Accounts Security Planning Guide。以本地服务帐户创建服务,需要在例子里追加下面几行。 obj= "NT AUTHORITY\LocalService" 请注意需要给本地服务帐户一些目录的适当权限,包括的Subversion和你的版本库,还有所有钩子脚本使用的应用。 |
为了使用包裹器安装svnserve,一个人为svnserve编写了SvnService。Magnus Norddahl采用了微软的骨架代码,Daniel Thompson做了进一步的改进。Daniel的版本可以从tigris.org下载。
许多更原始的工具像firedaemon也可以gognzuo ,请注意你仍然需要使用--daemon选项运行svnserve。
最后,如果你可以访问Windows 2000/XP/2003资源工具箱,你可以使用来自微软的SrvAny,这是微软官方的运行服务的方法,但是有一点混乱(需要编辑注册表),而且如果停止服务,它会直接杀掉svnserve,而不会让svnserve进行清理。如果你不想安装所有的资源工具箱,你可以只从Daniel Petri下载SrvAny组件。
3.2.4. svnserve的认证
缺省的svnserve设置提供了匿名的只读访问,这意味着你可以使用svn://的URL进行检出和更新,或者使用TortoiseSVN的版本库浏览器查看版本库,但是不能提交任何修改。

![[警告]](/uploads/allimg/080318/1035490.png)
![[提示]](/uploads/allimg/080318/1035492.png)