当前位置:文档之家› Svn服务器搭建简单教程.

Svn服务器搭建简单教程.

Svn服务器搭建简单教程.
Svn服务器搭建简单教程.

.环境和软件准备

操作系统:windowsXP sp2

Window-

Subvsersion :https://www.doczj.com/doc/b92903683.html,/servlets/ProjectDocumentList?folderID=91 Windows 常用客户端TortoiseSVN :https://www.doczj.com/doc/b92903683.html,/downloads

请下载subversion 服务器软件和客户端,并默认安装(可以重新启动操作系统,以更新图标显示。

2.配置管理

2.1. 创建仓库(svnadmin

在硬盘上创建个空目录,作为SVN 的仓库目录。如:E:\subversion\repository 。下面使用两种方式创建仓库的初时文件结构和存储方式。命令方式和TortoiseSVN 客户端方式,后面所有文档都采用两种方式说明,其功能完全相同。请根据实际情况选择使用。

命令方式(DOS 下:

# 默认方式,采用FSFS 方式存储数据,这是推荐方式,管理和迁移相对bdb 方式简单

svnadmin create E:\subversion\repository

svnadmin create –fs-type bdb E:\subversion\repository

TortoiseSVN 客户端

注意在最新版本的SVN1.4 ,采用本方式有兼容性问题,该客户端现在好想只支持 1.3 版本的SVN 创建仓库

1.使用window exporer 或我的电脑,定位到E:\subversion\repository ,并确保本目录为空。

2.在本目录下,右键菜单中选择“TortoiseSVN ”-> “Create repository here…”

3.在弹出的窗口中选择数据存在文件系统方式,使用默认选取(FSFS ,点击确定。

4.检查本目录下是否有生产的系统文件和文件夹,如果有,成功!

2.2. 配置服务

进入仓库目录下的conf 文件夹。也就是E:\subversion\repository\conf

里面有3 个默认的配置文件:authz ,passwd ,svnserve.conf

svnserve.conf 控制svnserve 的启动配置选项,可以配置认证和授权方式,典型的配置是设置由authz 控制授权,passwd 控制认证的方式来控制访问权限。也可以使用匿名方式,但不推荐。

使用authz 和passwd 的典型配置:

请特别注意:以下三个配置文件的配置,每行有效配置前不能有空格,不然配置会失败。

服务配置文件svnserve.conf

……

### 匿名方式不允许访问

anon-access = none

……

### Uncomment the line below to use the default password file.

### 表示访问仓库的认证有文件passwd 提供的账户确定

password-db = passwd

……

### Uncomment the line below to use the default authorization file.

### 表示认证后的账户访问权限由文件authz 定义

authz-db = authz

### This option specifies the authentication realm of the repository.

……

认证配置文件passwd

passwd 文件实际提供访问本仓库的账户管理,文件格式就是ini 方式的格式[users]

harry = harryssecret

sally = sallyssecret

user=usersecret

这表示本仓库配置了二个用户及:其中一个用户harry, 他的访问密码是harryssecret 。访问密码可以使用明文,也可以使用htpasswd.exe (apache 服务器提供的工具方法,安装apache 服务器后,在其bin 目录中有该程序文件进行加密处理。

授权配置文件authz

该文件负责认证后的用户的权限控制,配置稍微复杂,但其实也就是个ini 配置文件而已。

典型配置:

# groups 段提供配置组的功能, 但组成员必须是passwd 文件中定义的用户才有效。可以对组

# 进行权限控制,所有组成员具有组对应的访问权限。

[groups]

# 表示定义了一个管理组叫admin_group, 包括harry 和sally ,admin_group 前千万不能有空格

admin_group= harry, sally

# 下面就是定义具体仓库下目录的访问权限

# 一般对管理员来说都具有整个仓库的读写权限,一般人员对整个敞开具有读取权限,下面

# 就是这样的配置,[/] 表示整个仓库的根,组的引用使用@ ,对应的权限可以是r,w,rw 或空

[/]

@admin_group = rw

* = r

以上的配置完成后,我吗就可以启动服务器了,下面说明服务器的启动。

注意,以上authz 和passwd 文件在管理中因为具体项目的加入和人员的变动会经常的修改,这也是SVN 管理主要的工作

2.3. 启动服务(svnserve

Svn 服务器一般有三种方式,svnserve ,apache 和SSH 。其中常用的有svnserve 和apache 方式。本文只以svnserve 方式讲解。总的来说svnserve 是最高效的方式,一般应用于内部开发网中使用。Apache 方式因为可以很好的部署在internet 上,所以公网使用最方便,但配置稍微相对复杂点点,呵呵~~。三种方式具体的优缺点,请参考本文后面的参考文档。

命令方式(DOS 下:

svnserve –d –r E:\subversion\repository

-d 参数是以独立服务的方式启动

-r 是制订要加载的仓库的物理路径

Windows 系统服务

在subversion1.4 后的版本,提供了安装为服务的支持

可以参考本文安装:.

SC create svn1.4 binPath= "\"C:\Program Files\Subversion\bin\svnserve.exe\" --service --root \"E:\subversion\repository\"" depend= Tcpip start= auto

1. 红色部分:SVN 的安装目录

2. 蓝色部分:仓库根目录

3. 每个参数的格式是:参数名称= 值。参数名称和= 间没有空格,= 后必须有空格,SC 的变态特性,完全的BUG.. 注意就可以了

4. 本命令方式只能用于svn1.4 以上版本

5. 删除服务:sc delete svn1.4

2.4. 添加项目(import

上面的安装配置工作完成后,启动服务,现在进入使用的主题,首先一步是把需要进行版本管控的项目加入到仓库中。在作这个工作前,需要先接受下,SVN 推荐的项目路径结构。一般推荐是使用一个trunk 保存项目主干最新版本,breaches 保存以后的多个分支,tags 一般保存发布或阶段性发布的标签版本。如下

Project1/trunk

Project1/breaches

Project1/tags

下面我吗使用该目录结构,加入一个测试的项目project1 来演示添加项目的过程。

在任意目录建立文件夹test ,然后在test 下建立上面推荐的项目目录结构。如下

test/project1/trunk

test/project1/breaches

test/project1/tags

命令方式:

DOS 下定位到test 的上级目录

svn import test svn://localhost -m "init project1" --username harr y --

password=harryssecret

新增test\project1

新增test\project1\trunk

新增test\project1\readme.txt

新增test\project1\breaches

新增test\project1\tags

提交后的修订版为 1 。

TortoiseSVN 客户端

1.右键点击test 目录,选择“TortoiseSVN ”-> “Import ”

2.在弹出的操作界面中URL repository 中输入服务器地址svn://localhost

3. 在弹出的操作界面中Import message 下面的文本域输入init project1

4.点击OK

5.如果第一次使用,会弹出输入账户的界面,输入对应的用户账户,选择保存,下次使用就不用在输入账户认证信息了。

查看是否添加成功: 1. 使用 window exporer 或我的电脑,定位到

E:\subversion\repository ,并确保本目录为空。 2. 在本目录下,右键菜单中选择“ TortoiseSVN ”-> “ Repo-browser ” 3. 在弹出的输入框中输入 SVN 服务器地址svn://localhost 4. 在 Repository Browser 窗口中,你可以点击树形结构的仓库目录,查看是否存在你刚才添加的 project1 5. 如果你的用户有足够的权限,你可以在本界面的树目录上使用右键管理你的仓库和项目。 2.5. 工作副本 (checkout 工程加入到仓库后,下面就可以进入实际的研发使用了,首先是要建立个本地的工作副本,使用 checkout 。 1.在任意开发机上建立工作目录。如: D:\workspace\project1 2.进入具体项目的工作目录,右键菜单中选择“ SVN Checkout ” 3.在 checkout 窗口中:

URL of Repository 是你具体的项目的主干仓库访问地址如:

svn://localhost/project1/trunk Checkout directory 是你本地副本的地址如:

D:\workspace\project1 其它的使用默认选项,如需要了解具体含义,请查看参考文档 4.点击 OK 2.6. 常用开发操作以下主要都是在工作副本的开发中的常用操作。

2.6.1. 更新和同步其它开发人员或在其它工作副本上提交到仓库的最新版本文件,需要更新到你自己的工作副本的操作。使用更新使你的工作副本于服务器仓库代码同步。如果你更新的文件中本地副本和服务器仓库中的文件都是在同一版本上,本地副本作了修改文件操作后, SVN 没有办法更新,因为它不知道是否该放弃本地的修改,它默认会操作合并的方式,但往往很多时候有些文件是不能简单的自动合并的,所有最好的办法是以仓库的版本为准进行更新,这就是同

步操作。下面主要说明使用客户端工具 TortoiseSVN 的操作方式,其它客户端工具和命令方式类似。 1. 在需要更新或同步文件上或文件夹内右键点击,选择SVN update 命令 2. 如果需要同步某个文件或文件夹,需要先删除本地版本,然后在使用 SVN update 2.6.2. 添加和提交。。。 3.参考文档 1. Svn 安装后的官方文档2. SVN 中文官方网站: https://www.doczj.com/doc/b92903683.html, 3. 中文文档:

https://www.doczj.com/doc/b92903683.html,/svnbook/ 文章来自 [SVN 中文技术网 ] 转发请保留本站地址: https://www.doczj.com/doc/b92903683.html,/SVNSY/20090624/6788.html

相关主题
文本预览
相关文档 最新文档