1.版本管理工具Subversion
1.1.什么是Subversion
Subversion(简称SVN)是一个自由、开源的版本管理系统。目前,绝大多数开源软件都使用SVN作为代码版本管理软件。Subversion的版本库可以通过网络访问,从而使不同的用户可以在不同的电脑上操作。在Subversion管理下,文件和目录可以超越时空,允许用户在各自的空间里修改和管理同一组数据。
Subversion将文件存放在中心版本库里,这个版本库就像是一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况。由于所有的工作都已版本化,可以籍此将数据恢复到以前的版本,并可以从日志中查看数据的更改细节。
1.2.Subversion的功能
l 包含绝大部分CVS的功能,并且针对有些功能稍加改进;
l 将目录名以版本号的形式体现;
l 所有的操作都是基于版本的,都会被打上版本号;
l 自由的版本化元数据操作;
l 从Subversion1.5开始加入了混合追踪功能;
l 支持文件锁定,当多个用户试图编辑同一个文件时会收到警告;
l 当一个文件是可执行的时候Subversion会提示,且当这个可执行的文件被放在版本控制中,Subversion会防止该程序检查其它目录;
l 支持独立进程模式;
l 提供一个只读的存储镜像;
2.Subversion Server的搭建
目前公司的配置管理服务器主要安装的是CollabNet Subversion Server,它支持的操作系统位数为32位,它可以以svn协议和http协议访问服务器中的版本库。由于CollabNet Subversion Server已经集成了Apache服务,所以无需额外安装Apache服务器。
2.1.Subversion Server的安装
- 安装CollabNetSubversion-server-1.6.12-1.win32.exe;默认端口80,此次安装的端口号未进行修改,版本库存放在F:\Repository中,
- 安装成功后访问http://localhost/,显示如下图
2.2. 版本库的相关配置
2.2.1. 创建版本库
运行cmd 进入命令行,
输入命令:svnadmin create F:\Repository\project
注:若安装了TortoiseSVN客户端也可以利用客户端进行创建版本库,这一模块会在后面的TortoiseSVN的安装和使用中介绍。
2.2.2.SVN协议及权限配置
1) 修改F:\Repository\project\conf下的svnserve.conf文件:
(主要修改下面的红色部分)
### This file controls the configuration of the svnserve daemon, if you
### use it to allow access to this repository. (If you only allow
### access through http: and/or file: URLs, then this file is
### irrelevant.)
### Visit http://subversion.tigris.org/ for more information.
[general]
### These options control access to the repository for unauthenticated
### and authenticated users. Valid values are "write", "read",
### and "none". The sample settings below are the defaults.
anon-access = none
auth-access = write
### The password-db option controls the location of the password
### database file. Unless you