`
阅读更多
SVN服务器端——-SVN版本控制器的安装和配置
2009年12月30日 香草吧噗 399 views 发表评论 阅读评论
如何快速建立Subversion服务器,并且在项目中使用起来,这是大家最关心的问题,与CVS相比,Subversion有更多的选择,也更加的容易,几个命令就可以建立一套服务器环境,可以使用起来,这里配套有动画教程。
本文是使用Subversion最快速的教程,在最短的时间里帮助您建立起一套可用的服务器环境,只需略加调整就可以应用到实际项目当中。
本教程分为以下几个部门,不仅仅是快速入门,最后我们还有一些高级功能的说明,为了说明简单,教程是在windows下使用的方式,以方便资源有限的项目使用,对于UNIX环境下,区别并不大。

软件下载

服务器和客户端安装

建立版本库(Repository)

配置用户和权限

运行独立服务器

初始化导入

基本客户端操作

1,软件下载
下载Subversion服务器程序。
到官方网站的下载二进制安装文件,来到二进制包下载部分,找到 Windows NT, 2000, XP and 2003部分,然后选择” this directory “,这样我们可以看到许多下载的内容,目前可以下载 svn-1.4.0-setup.exe 。

下载Subversion的Windows客户端TortoiseSVN。
TortoiseSVN是扩展Windows Shell的一套工具,可以看作Windows资源管理器的插件,安装之后Windows就可以识别Subversion的工作目录。
官方网站是TortoiseSVN ,下载方式和前面的svn服务器类似,在Download页面的我们可以选择下载的版本,目前的最高稳定版本的安装文件为TortoiseSVN-1.4.0.7501-win32-svn-1.4.0.msi。

2,服务器和客户端安装
服务器安装,直接运行svn-1.4.0-setup.exe ,根据提示安装即可,这样我们就有了一套服务器可以运行的环境。

安装TortoiseSVN,同样直接运行TortoiseSVN-1.4.0.7501-win32-svn-1.4.0.msi按 照提示安装即可,不过最后完成后会提示是否重启,其实重启只是使svn工作拷贝在windows中的特殊样式生效,与所有的实际功能无关,这里为了立刻看 到好的效果,还是重新启动机器。若是不习惯英文还可以选择安装客户端语言汉化包“LanguagePack-1.4.5.10425-win32- zh_CN.exe”(也需下载),安装后默认还是英文,需要在客户端工具中设置一下。

此外,在编译器中也可以使用SVN插件来代替客户端工具,使开发起来更加方便。详细介绍请见Eclipse中SVN版本控制插件的安装和使用

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作为服务,在2000下控制台窗口可以运行,创建服务命令:

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

6,初始化导入
来到我们想要导入的项目根目录,在这个例子里是E:\svndemo\wc1,目录下有一个readme.txt文件:
右键->TortoiseSVN->Import…
URL of repository输入“svn://localhost/” ,如果服务安装在其他机器则将localhost改换为目标机器的IP地址“svn://10.8.6.87/”。
ok
完成之后目录没有任何变化,如果没有报错,数据就已经全部导入到了我们刚才定义的版本库中。

需要注意的是,这一步操作可以完全在另一台安装了TortoiseSVN的主机上进行。例如运行svnserve的主机的IP是 10.8.6.87,则URL部分输入的内容就是“svn://10.8.6.87/”,一般为了便于管理不会导入到服务的根目录下,而是导入到工程的子 目录,如/truck,/sanguo,/ts。导入的URL就添svn://localhost/truck。

7,基本客户端操作
取出版本库到一个工作拷贝:
来到任意空目录下,在本例中是E:\svndemo\wc1,运行右键->Checkout,在URL of repository中输入svn://localhost/,这样我们就得到了一份工作拷贝。
在工作拷贝中作出修改并提交:
打开readme.txt,作出修改,然后右键->Commit…,这样我们就把修改提交到了版本库,我们可以运行。

察看所作的修改:
readme.txt上右键->TortoiseSVN->Show Log,这样我们就可以看到我们对这个文件所有的提交。在版本1上右键->Compare with working copy,我们可以比较工作拷贝的文件和版本1的区别。功能挺强大,具体使用不做详解。

分享到:
评论

相关推荐

    SVN创建、合并与切换分支操作详解

    以下是对SVN创建、合并和切换分支操作的详细解释: ### SVN目录结构 1. **trunk**:这是主开发分支,通常存放项目的主线开发代码。日常开发工作在此分支上进行,确保最新的稳定代码在这里。 2. **branches**:分支...

    Eclipse svn创建分支、合并、切换讲解

    Eclipse SVN 创建分支、合并、切换讲解 Eclipse SVN 是一个功能强大的版本控制系统,广泛应用于软件开发项目中。本文将详细讲解 Eclipse SVN 中创建分支、合并、切换的操作步骤。 一、创建分支 创建分支是 SVN 中...

    svn创建分支的做法.rar

    本文将深入探讨如何使用SVN创建分支,这是在开发过程中非常常见的操作,尤其是在团队协作中。分支允许开发人员在不影响主分支(通常是 trunk 或 main)的情况下进行独立的开发工作。 一、SVN分支的理解 在SVN中,...

    Svn创建使用(内含Svn服务器Svn客户端下载地址)

    **Svn创建与使用详解** Subversion(简称Svn)是一种流行的版本控制系统,用于跟踪文件和目录的更改,便于团队协作。以下将详细介绍Svn的创建、安装、配置以及客户端操作。 1. **Svn服务器与客户端下载** 在CSDN...

    SVN创建和配置

    SVN(Subversion)是一...通过以上步骤,你已经掌握了基本的SVN创建和配置知识。在实际项目中,你可能还需要学习更多高级特性和最佳实践,以充分利用SVN带来的协同工作优势。记得定期备份你的SVN仓库,以防止数据丢失。

    删除SVN创建的.svn文件夹的方法

    本文将详细介绍如何删除SVN创建的`.svn`文件夹及其相关知识。 首先,了解`.svn`文件夹的作用至关重要。这个隐藏文件夹是SVN工作副本的一部分,它存储了版本信息、元数据以及与远程仓库交互所需的文件。每个子目录下...

    SVN创建与配置.

    以下是对SVN创建与配置的详细说明: 1. **创建版本库**: 使用`svnadmin create`命令创建一个新的SVN版本库。例如: ``` svnadmin create /home/xmgrid/svn/svndata/test ``` 这将在指定的路径下创建一个名为`...

    SVN创建合并分支.docx

    #### 二、SVN创建分支 在SVN中创建分支的主要目的是为了隔离不同功能或版本的开发过程,减少开发活动之间的相互干扰。以下是如何使用TortoiseSVN创建分支的具体步骤: 1. **定位项目**: 在需要创建分支的项目上...

    svn创建命令

    SVN服务器搭建和使用(一) Subversion是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说. 首先来下载和搭建SVN服务器. 现在Subversion已经迁移到apache网站上了,下载地址: ... 这是二进制文件包的...

    svn创建自动启动的Windows服务

    本文将深入探讨如何在Windows操作系统上创建一个自动启动的SVN服务,以及这一过程中的技术细节。 ### SVN服务的创建 #### 步骤一:初始化SVN仓库 首先,需要在本地磁盘上初始化一个SVN仓库。这通常通过创建一个...

    eclipse中利用svn创建、合并、切换分支

    如果您还没有创建相应的目录,建议先在SVN仓库中创建好所需的目录结构。 - 选择`浏览资源库`后,在弹出的对话框中选择`branches`目录(或者您之前创建的其他分支目录)。然后在该目录后手动添加新的分支名称,通常...

    SVN服务器与客户端创建详细教程

    【SVN服务器与客户端创建详细教程】 在软件开发过程中,版本控制系统是不可或缺的一部分,它帮助团队协同工作,管理代码的版本变化。Subversion(SVN)就是一款广泛应用的集中式版本控制系统。本教程将详细介绍如何...

    svn创建版本库和删除版本库.rar

    下面将详细阐述如何创建和删除SVN版本库。 ### 创建SVN版本库 1. **选择版本库类型**:SVN支持多种类型的版本库,包括本地版本库、FTP、HTTP(S)等。本地版本库适用于单机开发,而网络版本库则适用于团队协作。 2....

    svn 版本管理,分支/标记配置,创建

    下面将详细阐述svn的版本管理,以及如何创建分支和标记。 首先,svn的版本管理主要通过版本库实现,每个提交都会为项目增加一个新的版本,开发者可以随时回滚到历史版本,查看每次修改的细节。这有助于追溯错误来源...

    svn 添加帐号与密码

    #### 一、SVN简介 版本控制系统是软件开发过程中不可或缺的一部分,它帮助团队管理代码的变化历史,并支持多人协作。其中,Subversion(简称SVN)是一种广泛应用的集中式版本控制系统。本文将详细介绍如何在SVN...

    SVN分支机制和开发规范

    二、 SVN分支简介 1、SVN仓库目录结构Repository 2、 结合eclipse创建分支 3、 结合eclipse创建标记tags 三、 合并主干和分支 1、 主干合并分支 2、 分支合并主干 3、 合并发生冲突 情况1:标记冲突,稍后处理。 ...

    svn的创建库 启动服务

    本文将深入探讨如何使用SVN创建库、启动服务以及进行其他相关操作,帮助读者更好地理解和掌握SVN的基本操作。 ### SVN库的创建 在SVN中,一个“库”(Repository)是存放所有版本控制数据的地方,包括文件和目录的...

    AnkhSVN 在VS中管理SVN

    5. **工作副本管理**:用户可以使用AnkhSVN创建、删除和重命名文件或目录,这些操作会自动反映在SVN的工作副本上。 6. **分支和标签**:AnkhSVN支持创建和切换SVN的分支和标签,这对于多人协作的大型项目尤其有用。...

Global site tag (gtag.js) - Google Analytics