windows下的安装SVN
第一步:下载文件和安装
SVN服务器端下载地址:http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91
选择里面最新的win32安装包,我选择的是Setup-Subversion-1.6.2.msi
SVN客户端软件下载地址:http://tortoisesvn.net/downloads,我选择的是最新的TortoiseSVN-1.6.5.16974-win32-svn-1.6.5.msi。
安装过程其实很简单,哪个先装都可以,设置好安装路径后一路Next到底。
我的安装路径为是
Ø 服务端:C:\Subversion
Ø 客户端:C:\TortoiseSVN
服务端不用安装,直接解压缩!
(服务端安装好后软件会自动在系统的环境变量中增加相应的值,测试是安装完成可以在cmd命令行中输入“svn”或者“svnadmin”来测试能否运行。)
客户端安装好后会提示你重新启动计算机,照做就行。
第二步:部署存储库并运行服务端
建立SVN的存储库,路径以C:\Subversion\save为例,创建完该文件后,就进行Windows的服务绑定,以便以后每次重启机器后都能自动运行,这里用到的是Windows自带的创建服务的命令sc,在命令行模式下执行:
sc create SVNService binpath="C:\Subversion\bin\svnserve.exe--service-r C:\Subversion\save"displayname="SVNService"depend=Tcpip start=auto
注意这里的格式,“=”后面是必须空一格的,否则会出现错误。其中的几个路径分别是服务端安装路径和存储库的路径。
在提示建立成功后,可以直接输入“net start SVNService”来启动服务,或者可以直接在“管理工具”的“服务”中直接启动。
注:Subversion服务器有两种运行方式,一是可以作为Apache 2.0的一个模块,以WebDAV/DeltaV协议与外界连通;另外,也可使用Subversion自带的小型服务器程序svnserve。
第三步:建立仓库Repository
进到C:\Subversion\save目录下,鼠标右键选择[TotoiseSVN]->[Create Repository here]进行创建,创建之前保证该目录下没有任何的文件夹和文件。
创建成功后会在里面自动生成几个文件夹:conf存放的是配置文件;db目录就是所有版本控制的数据文件;hooks目录放置hook脚本文件的目录;locks用来放置Subversion文件库锁定数据的目录,用来追踪存取文件库的客户端;format文件是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号;
注:这一步也可以使用命令行来实现:svnadmin create C:\Subversion\save。
第四步:配置访问权限
1:配置svnserve.Conf文件
在C:\Subversion\save\conf目录下,用记事本打开svnserve.conf,设置如下:
[general]
anon-access=none
auth-access=write
password-db=passwd
authz-db=authz
第一个用来设置匿名用户的权限none为设置存储库不允许匿名访问(默认权限为只读)。
第二个用来设置经过授权的用户的权限write为可以写入。
第三行表示记录用户名密码信息的文件是passwd文件,也可以是其它文件名,只要目录下有这个文件就可以。
第四行表示记录用户授权信息的文件是authz文件,其他跟passwd类似。
注:subversion读取配置文件svnserve.conf时,无法识别有前置空格的配置文件。在配置时如果有前置空格会报错误:svnserve.conf:12:Option expected。要避免出现这个错误,应该在去掉这些行前的#时,也要去掉空格。
2:配置passwd文件
在C:\Subversion\save\conf目录下打开passwd,也就是上面设置的,当然你也可以改成其他的文件名,设置如下:
[users]
hope=116422
这里就是指定授权访问用户名和密码,格式为:用户名=密码
多个用户就写多行,设置完之后就大功告成了。
3:配置authz文件
建立一个用户组managers,并把我自己加入这个组,赋予这个组中成员读写的权利。^_^,只有我能这个SVN版本库进行操作喽。
打开C:\Subversion\save\conf,修改如下:
[groups]
managers=hope
[/foo/bar]
hope=rw
*=
[repository:/baz/fuz]
@managers=rw
*=r [groups]表示组,一个组可以有多个成员,方便批量授权。
在这里配置了一个组:managers,[/foo/bar]是项目在资源库的路径,hope=rw表示hope用户对该路径下的文件有读写权限,managers组的成员对/baz/fuz有读写权限。
4:重启Subversion服务后生效。
第五步:将项目加入资源库
网上介绍了两种方式:
Ø 通过TortoiseSVN-Import方法。
Ø 通过命令行:svn mkdir svn://localhost/myproject
注:我导入的具体步骤如下:
先增加一个SVN Repository ==》项目上右键 ==》选择菜单team ==》选择共享 ==》选择SVN ==》选择已经存在的 SVN Repository ==》选择使用项目名作为文件夹名 ==》出现需要提交的文件 ==》选择我们需要版本控制的文件,右键,提交。【这里有一个问题,就是那些文件是需要提交的,还不是很明白】