传统的Subversion 服务器程序:
一、准备工作
1、获取 Subversion 服务器程序
到官方网站(http://subversion.tigris.org/)下载最新的服务器安装程序。目前最新的是1.6.6版本,具体下载地址在:http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=8100
2、获取 TortoiseSVN 客户端程序
从官方网站 http://tortoisesvn.net/downloads 获取最新的 TortoiseSVN 。TortoiseSVN 是一个客户端程序,用来与 subvers 服务器端通讯。Subversion 自带一个客户端程序 svn.exe ,但 TortoiseSVN 更好操作,提高效率。
二、安装服务器端和客户端
安装 Subversion(以下简称SVN)的服务器端和客户端。下载下来的服务器端是个 zip 压缩包,直接解压缩即可,比如我解压到 D:\soft\subversion。客户端安装文件是个 exe 可执行文件,直接运行按提示安装即可,客户端安装完成后提示重启。
三、建立版本库(Repository)
运行Subversion服务器需要首先要建立一个版本库(Repository)。版本库可以看作是服务器上集中存放和管理数据的地方。
开始建立版本库。首先建立 H:\svn 空文件夹作为所有版本库的根目录。然后,进入命令行并切换到subversion的bin目录。输入如下命令:
svnadmin create E:\svn\repos1
此命令在 E:\svn 下建立一个版本库 repos1 。repos1 下面会自动生成一些文件夹和文件。
conf目录是用来存放权限配置的,
db目录是所有版本控制的数据文件,
hooks目录用来放置hook脚本文件,
locks目录存放Subversion文件库锁定数据,用来追踪存取文件库的客户端,
format是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号,
readme.txt不用说也知道是干什么的了。
我们也可以使用 TortoiseSVN 图形化的完成这一步:
先建立空目录 E:\svn\repos1 ,注意一定是要空的。然后在 repos1 文件夹上“右键->TortoiseSVN->Create Repository here...”,然后可以选择版本库模式,这里使用默认的FSFS即可,然后就创建了一系列文件夹和文件,同命令行建立的一样。
四、运行独立服务器
此时 subversion 服务还没有开始,只是通过它的命令建立了版本库。继续在刚才的命令窗口输入:
svnserve.exe --daemon
svnserve 将会在端口 3690 等待请求,--daemon(两个短横线)选项告诉 svnserve 以守护进程方式运行,这样在手动终止之前不会退出。注意不要关闭命令行窗口,关闭窗口会把 svnserve 停止。
为了验证svnserve正常工作,使用TortoiseSVN -> Repo-browser 来查看版本库。在弹出的 URL 对话框中输入:
svn://localhost/svn/repos1
点 OK 按钮后就可以看见 repos1 版本库的目录树结构了,只不过这时 repos1 是个空库。
你也可以使用--root选项设置根位置来限制服务器的访问目录,从而增加安全性和节约输入svnserve URL的时间:
svnserve.exe --daemon --root drive:\path\to\repository
以前面的测试作为例,svnserve 将会运行为:svnserve.exe --daemon --root H:\svn
然后TortoiseSVN中的版本库浏览器URL缩减为:svn://localhost/repos1
五、将SVN注册为系统服务
你可能会问这样岂不是每次启动SVN服务器都要输入一次命令?怎样才能让SVN服务器在开机的时候自动启动呢?答案就是将SVN服务注册到Windows系统服务,在Windows命令提示符里执行命令
sc create SVN binpath= "\"D:\soft\subversion\bin\svnserve.exe\" --service -r H:\SVN" displayname= "SVN Service" depend= Tcpip start= auto,这个命令是不是有点长?其实很容易理解,sc是Windows自带的系统服务注册工具,微软支持中心提供了详细的说明,这里我就不再复述了,
参数binpath= "\"D:\soft\subversion\bin\svnserve.exe\" --service -r H:\SVN"和我们前面手动启动SVN服务器的命令很像吧?只是把-d改成了--service,这不难理解,因为现在是服务嘛。好了,现在已经大功告成了,重起一下试试吧。
PS:如果想从系统服务里删除刚才注册的SVN服务可以使用sc delete SVN命令。
六、配置用户和权限
接下去就来看看SVN是如何设置权限的,还记得第一步创建SVN数据库时提到的conf目录吧,conf目录里有3个文件,这3个都是文本文件,用计事本打开它们就行了,我们先看
svnserve.conf文件,anon-access项指定了未经验证的用户所具有的操作权限,它有3个有效值,分别是read,write,none,read为读权限,write为写权限,none为没有任何权限,password-db项用来指定存放用户名和密码的文件,authz-db项用来指定存放用户权限的文件,realm项用来指定验证范围,这项一般情况下用不到,以上4项默认都是被注释掉的.#号为注释符,要起用它们只需要把注释符去掉即可。
passwd文件是默认存放用户名和密码的文件,例如我设置一个Sol用户,密码为111111,只需在[users]下添加Sol=111111即可,
authz文件是默认指定存放用户权限的文件,[groups]代表分组,这里我们设置个developer组,将前面创建的Sol用户分到developer组里,同样只需在[groups]下写上developer=Sol即可,[/]代表根目录,如果我们要设置developer组有完全的访问权限就在下面加上@developer=rw,前面加@符代表组,除此之外我们允许所有人都有读取权限还要在下面加上*=r,SVN允许对每个目录设置权限,设置方法和根目录差不多,如果到这里你还不是很明白那么请看下面的例子。
用文本编辑器打开H:\svn\repos1\conf目录,修改svnserve.conf:
将:
# password-db = passwd
改为:
password-db = passwd
即去掉前面的 # 注释符,注意前面不能有空格。
然后修改同目录的passwd文件,增加一个帐号:
将:
[users]
# harry = harryssecret
# sally = sallyssecret
增加帐号:
[users]
#harry = harryssecret
#sally = sallyssecret
test = test
七、初始化导入
下面就是将我们的数据(项目)导入到这个版本库,以后就由版本库管理我们的数据。我们的任何改动都回被版本库记录下来,甚至我们自己丢失、改错数据时版本库也能帮我们找回数据。
比如,我在 d:\wwwroot 下有个 guestbook 文件夹,里面存放的是我编写的留言簿程序。在此文件夹上“右键 -> TortoiseSVN -> Import...” ,在弹出对话框的“URL of repository”输入“svn://localhost/repos1/guestbook”。在“Import message”输入“导入整个留言簿”作为注释。
点 OK 后要求输入帐号。我们在用户名和密码处都输入 test 。完成后 guestbook 中的内容全部导入到了 svn://localhost/svn/repos1/guestbook 。
我们看到在 H:\svn\repos1 没有任何变化,连个 guestbook 文件夹都没有建立,唯一的变化就是e:\svn\repos1容量变大了。实际上我们源guestbook中的内容已经导入 repos1 版本库了,源 guestbook 文件夹可以删除了。
需要注意的是,这一步操作可以完全在另一台安装了 TortoiseSVN 的客户机上进行。例如运行svnserve的主机的IP是133.96.121.22,则URL部分输入的内容就是“svn://133.96.121.22” 。
八、基本操作流程
1、取出(check out)
取出版本库到一个工作拷贝:
来到任意空目录下,比如在f分区建立一个空文件夹 f:\work 。“右键 -> SVN Checkout”。在“URL of repository”中输入“svn://localhost/svn/repos1/guestbook”,这样我们就得到了一份 guestbook 中内容的工作拷贝。
2、存入(check in)/提交(commit)
在工作拷贝中作出修改并提交:
在 guestbook 工作拷贝中随便打开一个文件,作出修改,然后“右键 -> SVN Commit... ”。这样我们就把修改提交到了版本库,版本库根据情况存储我们提交的数据。
在修改过的文件上“右键 -> TortoiseSVN -> Show Log” ,可以看到对这个文件所有的提交。在不同的 revision 条目上“右键 -> Compare with working copy”,我们可以比较工作拷贝的文件和所选 revision 版本的区别。
分享到:
相关推荐
apache_2.2.2-win32-x86-no_ssl.msi Setup-Subversion-1.6.6.msi TortoiseSVN-1.6.12.20536-win32-svn-1.6.15.msi SVN与Apache服务器的安装配置.doc 配套的安装程序和说明,我自己也是用这一套工具搭建的SVN
【绝对经典】配置SVN+...从此Windows上的SVN开发服务器配置不再困难,而且具有完整的功能:Trac、客户端修改密码、文件共享,这些功能在团队开发中非常有用。采用这种方法配置服务器,5分钟足以,不信试试就知道咯^_^
Windows环境下安装SVN服务器的知识点主要包括以下几个方面: ...根据本文档提供的信息,操作人员可以完成Windows环境下SVN服务器的安装和配置,进一步学习和掌握SVN的基本使用技巧,从而有效地进行版本控制管理。
### Jenkins + SVN + Maven + Java 自动化部署详解(Windows版) #### 一、Jenkins 安装与配置 **1. Jenkins 安装** - **下载安装**: 首先,从官方网址 (https://jenkins.io/download/) 下载最新的Jenkins安装包...
2. SVN客户端:TortoiseSVN是Windows环境下非常流行的SVN客户端,其文件名 "TortoiseSVN-1.10.0.28176-x64-svn-1.10.0.msi" 显示了它的版本号和适用平台。TortoiseSVN 将 SVN 功能深度集成到文件系统的右键菜单中,...
【Windows下SVN服务器配置详解】 Subversion (简称SVN) 是一款强大的版本控制系统,它在Windows环境下同样可以被高效地配置和使用。本指南将详细介绍如何在Windows上搭建SVN服务器,包括Apache HTTP Server的安装、...
配置 svn 服务器需要设置 svn 服务器的配置文件,通常位于 /etc/subversion 目录下。需要设置 svn 服务器的认证机制,使用 ldap 服务器进行用户认证。 5. 配置 sasl 认证协议 配置 sasl 认证协议需要设置 sasl 的...
备份Apache2的配置文件,然后进行必要的修改以支持SVN。这通常涉及编辑`/etc/apache2/httpd.conf`或`/etc/apache2/sites-available/default`文件,添加或调整以下内容: ```apacheconf <Location /svn> DAV svn ...
在"svn服务器+svn客户端+svn服务器配置"的主题中,我们涵盖了三个关键方面:搭建SVN服务器,安装和配置SVN客户端,以及服务器的详细配置。 首先,SVN服务器是整个版本控制系统的基石,它存储所有版本的文件,并处理...
在Windows环境下配置SVN服务器,主要是为了实现源代码版本控制,便于团队协作和管理项目代码。Visual Studio 2008和2010作为常用的开发工具,支持集成SVN客户端,使得开发者可以直接在IDE中进行版本控制操作。以下是...
### Windows 下配置 Apache + SVN + Trac 的方法详解 #### 一、背景介绍 在进行软件开发的过程中,项目管理和版本控制是非常重要的环节。为了更好地管理项目中的问题追踪、代码版本控制以及文档协作等功能,通常会...
在 Windows 平台下搭建 SVN 服务器是一项复杂的任务,需要详细的步骤和配置。本文档将指导您如何在 Windows 平台下搭建 SVN 服务器,并解决可能遇到的问题。 软件安装 首先,需要下载并安装 SVN 服务器端软件 ...
【Ubuntu+svn+ssl+ldap】的安装及集成是一个复杂的过程,涉及到Ubuntu操作系统、Subversion (SVN) 版本控制系统、SSL安全套接层以及Lightweight Directory Access Protocol (LDAP) 用户认证。以下是对这些技术的详细...
在本文中,我们将深入探讨如何设置SVN服务器、安装和配置SVN客户端,以及如何详细地使用SVN进行版本控制。 一、安装与配置SVN服务器 1. **选择服务器平台**:SVN服务器支持多种操作系统,如Windows、Linux和macOS...
总之,Windows下的SVN服务器环境搭建涉及多个步骤,从安装软件、创建仓库到配置权限和使用客户端。理解这些步骤对于有效地利用Subversion进行团队协作至关重要。同时,随着团队规模的扩大,你可能还需要考虑更多的...
这可以通过修改服务器上的SVN配置文件或使用VisualSVN Server的图形界面来完成。 5. **安全措施**: 配置SSL证书以确保数据传输的安全性,限制IP访问,或者设置用户名和密码认证。 **客户端使用** 1. **安装客户端...
### Windows下SVN + Apache搭建SVN服务器 在软件开发过程中,版本控制系统是必不可少的工具之一,它能够帮助团队高效地管理代码版本、合并更改以及追踪历史记录等。其中,Subversion (SVN) 是一个非常流行的集中式...