svn

一、 SVN介绍

二、 安装SVN服务器

1、下载SVN服务器软件



2、询问是否继续安装

3、下一步



4、确认安装



5、对产品的介绍以及下一步开始安装



6、选择安装路径(任何路径都可以)然后下一步



7、确认程序的名称以及是否将程序创建开始菜单

8、是否创建桌面图标和快捷图标



9、安装的清单以及说明



10、安装过程



11、安装完毕



12、安装结束



13、安装完服务器软件后环境变量已经配置完毕



三、 安装客户端软件

1、 下载SVN客户端软件

2、 双击TortoiseSVN-1.4.1.7992-win32-svn-1.4.2.msi安装

3、 确认安装

4、 确认安装路径

5、 开始安装

6、 安装过程

7、 安装完毕

8、 必须重新启动计算机

9、 安装汉化包

10、在任何一个文件夹上右点单击然后设置里面设置成简体中文


四、SVN服务器端配置

1、安装版本库

第一种方法使用命令行创建版本库

1、首先进入命令行



2、输入命令创建版本库

3、成功创建版本库

第二种方式使用window下鼠标操作

创建为本地使用的版本库

创建成功

2、进入版本库中conf文件夹,配置svnserve.conf文件



打开文件

3、将改动如下设置,将带#号的去掉 #表示注释

anon-access = read/none none 代表客户端登陆时需要密码

auth-access = write

password-db = passwd

realm = My First Repository

4、对password进行设置

添加一个用户名为administrator密码为manager的用户



5、启动SVN服务

-d表示后台模式启动

-r表示指定版本库所在根目录



五、 本地使用客户端向版本库提交数据

1、 首先新建一个文件例如在webroot下创建SVNProject目录

2、 点击SVN检出功能,本机地址可以是127.0.0.1或者为localhost均可

3、 由于服务器已经启动,所以能够将数据提交到版本库中,但是需要用户名和密码

4、 检出已经完成

5、 刷新后目录已经变成SVN版本控制样式

6、 进入SVNProject文件夹新建一个文件,并录入数据保存

7、 右键点击提交,更新版本库中的数据

8、 选中要被提交的文件

9、 再次输入用户名和密码进行验证

10、 提交成功服务器端版本库已经更新完毕

11、 向上一次再进入会发现刚刚的文件也变成了SVN版本控制样式的文件


12、 为了验证服务器端版本库中确实有刚才提交的文件,删除SVNProject文件夹

13、 新建一个文件夹SVNTest右键点击检出,如果是在别的机器上,可以通过IP地址来访问例如svn://192.168.1.100

14、 如图所示,表明我们已经成功的下载到服务器上的资源

15、 下面来测试一下同时有2个客户端能不能互相更新服务器上的资源呢?建立一个文件夹SVNProject重复上面的操作检出服务器的资源。

16、 我们修改SVNProject文件夹中的文本文件,如图所示

17、 点击提交后,选中被提交的文件,输入用户名密码,此时警告的图标就变成成功的图标了

18、 这时打开SVNTest文件夹查看文件内容,并没有变化是因为,客户端没有更新服务器端的资源

19、 右键点击更新功能

20、 更新成功

21、 查看更新的结果

总结:这样可以良好的控制多个客户端同时操作一个工程,节约了大量的时间,作为团队开发这是一种不可缺少的软件,而且目前非常的流行。当然如果在以上任何一个环节关闭了命令行的情况下,服务器就断开了连接,客户端就不能工作了,下面在给大家介绍一种更为完善的是使用方法。


每次开启服务器都要持久的使用命令行,这样有些烦琐,因此我们使用windows下自带的创建服务工具,为版本库创建一个服务,这样每次开机启动这个服务,客户端就可以直接提交,更新数据了。

使用方法

1、 基本配置和前面讲过的内容是一样的,在这里略过。。。

2、 进入命令行创建服务

sc create svnservice binPath= “d:\subversion\svnserve.exe –service –root e:\svn” displayname= subversion depend= Tcpip start= auto

解释一下各种参数

sc:是windows自带的创建服务工具

create:代表创建服务 反之delete代表删除服务

svnservice:表示服务的名字,要记好,以后删除时也要用到

binpath:指定svnserve.exe文件的路径因为服务要从这个工 具去启动版本库

--service:表示来自服务去启动版本库

--root:表示版本库所在跟路径

displayname:在管理工具中服务文件夹下显示服务的名字

depend:服务的模式

start:开机自动启动服务

3、 创建好服务以后第一次启动的时候需要进入管理工具->服务找到我们刚才创建好的服务,然后手动的启动随之以后可以直接访问使用了。

4、 删除服务

在命令行输入:sc delete svnservice(服务的名字)

知识扩展:

1、如果我们要想让一个服务控制多个版本库我们应该如何呢?

也就是说我们不能把版本库直接放在跟路径下,而是在根路径下新建多个文件夹,每个文件夹里面创建版本库,这样可以使得一个服务器下有多个版本工程,可以有效的将所有的项目集中到一起进行团队开发。

2、客户端访问服务器上某个资源时候直接在URL后面指定某个项目名称就可以了


六、 在windows上利用Apache访问SVN

引言:我们以往使用Subversion无论是从命令行启动服务还是创建 服务后自动开启,都是使用的svn:// 协议,只局限于内部网 络之间资源共享,下面将使用http://协议访问apache再访问 版本库。

好处:

1、 你可以在不安装Subversion客户端的情况下,使用浏览器来浏览版本库中的内容。这将使得更大范围的用户可以访问你的数据。

2、 可以支持apache加密验证机制。

3、 Apache是非常的稳定和安全,因此你的版本库自然而然地拥有同样的安全性,包括SSL加密。

4、 可以从公网访问服务器上资源,下载到本地进行操作。

具体操作:

1、 目前windows下的subversion只能跟Apache2.0.x配合,不能用于Apache2.2.x,在这里我们采用Apache_2.0.59版本,可以到www.apache.org下载并且安装

2、 安装Subversion(略)

3、 将Subversion\bin中的mod_dav_svn.so,mod_authz_svn.so文件复制到Apache服务器的modules路径下

4、 将Subversion\bin中的libeay32.dll文件复制到Apche服务器的bin路径下

5、打开Apache配置文件httpd.conf找到以下两行

#LoadModule dav_module modules/mod_dav.so

#LoadModule dav_fs_module modules/mod_dav_fs.so

去掉前面的#,然后所有LoadModule的后面添加下面两行

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so

6 、然后在最后加上如下代码

具体解释:

<Location /svn/TestSystem> :意味着可以通过像这样的 http:/localhost/svn/TestSystem来访问Subversion版本库

DAV svn :告诉Apache哪个模块负责服务像那样的url--在这里就是Subversion模块

SVNParentPath e:\svn :告诉Subversion在目录e:\svnN下寻找版本库

AuthType Basic :启用基本的验证,比如用户名/密码对

注:必须要创建一个密码验证文件

由于Apache/bin目录已经存在于系统环境变量中所以在任何地方都可以使用htpasswd工具.

htpasswd是创建用户的工具

-c 表示创建

-b 表示密码随用户一起创建

jiedeng 表示用户名

810817 表示密码

然后又追加了一个用户

AuthName "用户验证"
当一个验证对话框弹出时,告诉用户这个验证是用来做什么的

AuthUserFile e:\svn\pas\password
指定用户验证的加密文件路径

AuthzSVNAccessFile D:\svnaccessfile
指定D:\svnaccessfile来限定各个用户或组在版本库中目录的访问权限
Require valid-user
限定用户只有输入正确的用户名及密码后才能访问这个路径

7、重新启动Apache服务器,测试HTTP协议访问版本库

第一种方法:进入DOS系统,例如E盘下

使用svn命令 参数 co请求服务器端资源

第一次输入的密码可以任意,但是接下来的用户名和密码必须输入正确才可以获取资源到本地。

第二种方法:

1、新建一个文件夹名字任意,右键进入检出功能

2、将原来的svn://改为http://,然后输入访问apache的路径和端口,别忘了输入svn虚拟文件夹名称,还要指定访问的资源名称。



3、输入用户名称和密码,然后就可获得服务器资源

8、知识扩展

按照上述的过程设计SVN根路径下有2个项目中用户登陆时使用的帐号和密码都在一个文件中,也就是说能有打开项目1的权限就可以打开项目2,反之也可以,这样应用于团队开发,权限的分配过大了些,现在我们位每一个项目都指定各自独立的帐号和密码组

1、 将 SVN根路径下的PWD文件夹删除

2、 修改Apache的配置文件,稍微有些改动

访问名字改变了 http://localhost/svn/TestSystem

原来的SVNParentPath改为了SVNPath表示单个项目

密码文件放在了版本库中

3、 为第一个项目创建密码文件,创建一个用户

4、 为第二个项目创建密码文件,创建一个用户

5、操作完成,现在2个项目中分别有自己使用的帐号密码文件,缩小的被越权访问的权限。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值