window平台安装和使用SVN服务
需要的软件
1.TortoiseSVN
2.SVN.1.4以上的EXE 安装版(压缩版的也可以,只是需要需要配置PATH=$SVN$/bin)
这两个软件可以不按顺序安装.
安装的步骤就很简单了,在这里就不废话了.
(测试安装SVN是否成功---打开CMD,输入svnserve 如果报错就没安装好,一般人不会出现.
测试安装小乌龟是否成功---在任意目录,按右键看看可有小乌龟的图标就可以了!)
3,建立版本库(Repository)
运行Subversion服务器需要首先要建立一个版本库(Repository),可以看作服务器上存放数据的数据库,在安装了Subversion服务器之后,可以直接运行,如:
svnadmin create E:\svndemo\repository
就会在目录E:\svndemo\repository下创建一个版本库。
我们也可以使用TortoiseSVN图形化的完成这一步:
在目录E:\svndemo\repository下"右键->TortoiseSVN->Create Repository here...“, 然后可以选择版本库模式, 这里使用默认即可, 然后就创建了一系列目录和文件。
4,配置用户和权限
svn的权限管理涉及到一下文件:
passwd文件 -- /conf目录下 用于存放本svn库的用户名和密码,用 = 分割,左边是用户名,右边是密码(明文)。
authz -- /conf目录下 用于存放本svn库的访问授权信息。
svnserve.conf -- /conf目录下 用于存放本svn库的全局访问控制信息。
来到E:\svndemo\repository\conf目录,修改svnserve.conf:
# [general]
# password-db = passwd
改为:
[general]
password-db = passwd 然后修改同目录的passwd文件(设置用户密码),去掉下面三行的注释再加两个用户:
# [users]
# harry = harryssecret
# sally = sallyssecret
最后变成:
[users]
harry = harryssecret
sally = sallyssecret
svnadmin = admin
zgz = zgz0809
最后修改同目录的authz文件,它定义了两部分的内容:
1,对组成员的定义,
2,对目录的授权定义,
可以针对一个单一用户授权,也可以针对在[groups]里面定义的一个组授权,还可以用*通配符来对所有的用户授权,
授权的选项有:只读访问('r'),读写访问('rw'),或者无权防问('').
authz文件中可以对任意多个目录进行权限控制,一下是一个例子:
[groups]
harry_and_sally = harry,sally
#设定权限组
[/]
svnadmin = rw
[/truck]
zgz = rw
harry = rw
sally = r
* = r
[/sanguo]
zgz = rw
harry = r
sally = rw
* = r
[/ts]
@harry_and_sally = rw
# 以@为键值意味着对前面定义的组进行授权
* = r
# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
用户svnadmin权限最大,他可以进行根目录(注意:是服务器目录svn://localhost/,下边会介绍的)下所有文件(包括子目录下的文件)的读写操作,而/truck,/sanguo,/ts是在服务器的根目录下创建的三个子目录。
用户zgz 和harry对 /truck具有读写权限,sally 只有读的权限。
用户zgz 和sally对 /sanguo具有读写权限,harry 只有读的权限。
用户harry 和sally对 /ts具有读写权限,zgz只有读的权限。(* = r 表示所有用户都具有读的权限,当然zgz也就自然具有了。注意这里 @harry_and_sally = rw 表示给harry_and_sally组所有用户授权,该组在上边[groups]标签中已定义)
注意:如果用户对一个目录具有某种权限,那么他对其子目录也有同样的权限(例如:svnadmin),所以在授权时要特别注意,尽量只付给满足用户需要的最小的权限。
5,运行独立服务器
在任意目录下运行:
svnserve -d -r E:\svndemo\repository 我们的服务器程序就已经启动了。注意不要关闭命令行窗口,关闭窗口也会把svnserve停止。为了方便,可以把svnserve作为服务,在XP下控制台窗口可以运行,创建服务命令:
sc.exe create SVNService binpath= "D:\Subversion\bin\svnserve.exe --service -r E:\svndemo\repository" depend= tcpip
如果加错了可以用:sc delete "SVNService" 命令删除服务。
加好后可以在控制面板的服务选项中找到它,把它启动类型设为手动,然后启动一下看看有没有问题。
注意:
1."D:\Subversion"是SVN服务器端的安装路径,"E:\svndemo\repository"是版本库的路径,视具体情况而定。
2. 等号前无空格后有空格。
3. 应使用参数“--service”而不是“-d”,参数前面的横线不是一个是两个。
4. binpath内套的路径如果包含空格,也需要使用双引号,此时需要使用转义符表示内部的引号(")。
5.使用“SVNService.exe”将SVN作为Window服务运行(Subversion1.4之前版本也可使用)
SVNService.exe -install -d -r E:\svndemo\repository
如果到现在你的操作都很成功,并且没有什么问题的话,那么你离成功已经很近了!
现在我们在E:\svndemo\repository 下建立一个文件夹project1(在正事开发中,此文件夹就是你的项目文件夹),然后在里面建立一个TXT文件,随便啥都行.
然后对着这个文件夹点右键->TortoiseSVN->Import ,这样就把这个project1给加入到SVN管理库了.
然后你可以任意的目录去CHECKOUT了,本机是 svn://127.0.0.1/repository/project1 这样就可以把这个project1里的东西全CHECKOUT下来了.
如果是外网就要换IP地址了!!
如果有疑问请联系QQ 22534594