`

Windows下SVN服务器的搭建

    博客分类:
  • JAVA
阅读更多

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中的特殊样式生效,与所有的实际功能无关,这里为了立刻看到好的效果,还是重新启动机器。

3,建立版本库(Repository)

运行Subversion服务器需要首先要建立一个版本库(Repository),可以看作服务器上存放数据的数据库,在安装了Subversion服务器之后,可以直接运行,如:

svnadmin create E:\svndemo\repository

就会在目录E:\svndemo\repository下创建一个版本库。

我们也可以使用TortoiseSVN图形化的完成这一步:
在目录E:\svndemo\repository下"右键->TortoiseSVN->Create Repository here...“, 然后可以选择版本库模式, 这里使用默认即可, 然后就创建了一系列目录和文件。

4,配置用户和权限

来到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

5,运行独立服务器

在任意目录下运行:
svnserve -d -r E:\svndemo\repository 我们的服务器程序就已经启动了。注意不要关闭命令行窗口,关闭窗口也会把svnserve停止。

在windows服务里运行:sc create svnservice  binPath= "D:\Program Files\Subversion\bin\svnserve.exe --service -r E:\SVN" DisplayName= "SvnService" depend= Tcpip start= auto

6,初始化导入

来到我们想要导入的项目根目录,在这个例子里是E:\svndemo\initproject,目录下有一个readme.txt文件:

右键->TortoiseSVN->Import...
URL of repository输入“svn://localhost/”
ok
完成之后目录没有任何变化,如果没有报错,数据就已经全部导入到了我们刚才定义的版本库中。

需要注意的是,这一步操作可以完全在另一台安装了TortoiseSVN的主机上进行。例如运行svnserve的主机的IP是133.96.121.22,则URL部分输入的内容就是“svn://133.96.121.22/”。

分享到:
评论
4 楼 doloveme 2011-05-24  
在客户端访问subversion版本库时出现这个错误:

svnserve.conf:12: Option expected

anon-access = read
   auth-access = write

像上面的配置文件中,anon-access是顶行的,没问题,而auth-access就存在前置空格,会导致这个错误。
3 楼 doloveme 2011-05-24  
如果你碰到svn: No access allowed to this repository, 那就是你的svn配置有些问题, 检查你的SVN_REPOSITORY/conf/svnserve.conf 里的password-db = passwd打开
2 楼 doloveme 2011-05-24  
首先介绍一下SubVersion,SubVersion是一种开放源代码的全新版本控制系统,支持本地访问或者通过网络访问的数据库和文件系统存储库。不但提供了常见的比较、修补、标记、提交、回复和分支功能,还增加了追踪移动和删除的能力。基本与CVS类似。

下面开始实战过程:

SubVersion与CVS一样,也是很典型的C/S系统,所以使用前需要安装相应的服务器和客户端软件。

下载地址:http://subversion.tigris.org/ ,进入该页面后点击左边的Downloads链接,

下载:Win32 packages built against Apache 2.0 (建议最好下载该版本,为了后面配置的兼容性),选择svn-1.4.4-setup.exe,该文件是SubVersion的安装版本,当然你也可以选择解压缩版本,解压缩版本不需要安装。

下载完毕后双击该文件进行安装,该安装过程与一般的软件安装没有任何区别,选择默认即可,一路Next,最后Finish。这样我们的SubVersion服务器端软件就安装完毕了。

我们到SVN的安装目录下去看看,这里以我的安装目录为例在D:\Program Files\Subversion下面,有一个bin目录,SVN的所有可执命令都在该目录下。这里面有很多exe文件,注意:SVN的命令是给予命令行的,所以我们不能直接双击这些命令来执行他们,我们需要到命令窗口去执行他们。

SVN的服务器端如见同样包含了客户端执行的一些命令,我们可以用这些命令来晚场我们日常的版本控制管理工作。

首先我们要在服务器端建立仓库(repository)。

在安装完毕SVN后,他会将安装目录中的bin目录加入到系统path中,可以通过右点我的电脑,选择高级->环境变量,查看path环境变量的值。

因此打开命令行窗口(win+r,键入cmd),输入svn命令,系统会返回『使用“svn help”得到用法。』说明系统已经认出svn命令了。

现在我们需要创建一个仓库(repository),假设仓库创建的位置为:E:\svn\repository目录下,那么我们需要在硬盘上创建该目录。创建完后,在命令行输入:svnadmin create E:\svn\repository

在执行完命令后,SVN没有给出任何信息,这说明我们的版本库已经创建成功了,我们这时再到E:\svn\repository下去看看,可以看到SVN已经再该目录下生成了很多文件夹和文件,这些文件就是SVN进行版本管理时所需要的,我们再日常的开发中是不会直接接触到这些文件的。

现在服务器端的仓库已经创建成功了,接下来就是在客户端创建一个项目,然后将该项目import到服务器端,将其纳入SVN的管理之下。不过在创建项目之前我们首先需要启动服务器,服务器启动后才会进行网络侦听,检查到客户端的相关命令请求。

在命令行中输入如下命令:svnserve -d -r E:\svn\repository,该命令含义让SVN将此目录作为仓库,并侦听客户端的请求。其中-d的作用为后台模式,而-r的作用是为制定服务器的仓库路径。

当服务器启动后,请不要关闭命令行窗口,否则会吧svnserve的服务停下来的,接下来的操作我们可以另外打开一个命令行窗口进行。

假设我们的客户端创建的项目在E:\test\client,我们在该目录下创建一个文件夹child和一个文件test.txt,并在该文件中增加些文本。

我们首先将命令行的当前目录转到E:\test目录下,在命令行中输入如下命令:svn import svn://localhost,其中svn://localhost表示的是SVN服务器的ip地址,这里就表示是我们本机地址。另外SVN实现了自己独有的协议SVN协议,所以我们可以看到url形式是svn://这样的,这个命令的作用就是当前目录以及其所有子目录和文件imort到服务器上去,纳入SVN的管辖范围中。

执行完毕后我们发现该命令失败了

----------------------------------------------------

E:\test> svn import://localhost

svn:无法使用外部编辑器获得日志信息;考虑设置环境变量$SVN_EDITOR,或者使用--message(-m)或--file(-F)选项

svn:没有设置SVN_EDITOR,VISUAL或EDITOR环境变量,运行时的设定中也没有“editor-cmd”选项

E:\test>

----------------------------------------------------

通过命令行的说明我们看到,该命令要求我们指定好一个记录日志的文件或者在系统环境变量中增加一个SVN_EDITOR的变量。二者选一就可以了,那么我们可以增加一个SVN_EDITOR的环境变量。该变量的值我们就取为系统自带的记事本就可以了。方法同前面说的path环境变量一样。在系统的环境变量中新建SVN_EDITOR,将它的值设为notepad即可

SVN_EDITOR=notepad

注意,设置完环境变量后,要关闭原来的命令窗口,重新cmd开一个命令行窗口,从而使得刚设的环境变量生效。

同样的cd到E:\test,以此为当前目录,然后输入命令:svn import svn://localhost

当我们输入命令回车后,出现一个记事本的信息窗口,这证明了我们的环境变量的增加是正确的,关闭该记事本窗口。命令行如下:

----------------------------------------------------

E:\test> svn import svn://localhost

日志信息未修改,或未指定

a)终止,c)继续,e)编辑

----------------------------------------------------

我们选择c,继续

----------------------------------------------------

E:\test> svn import svn://localhost

日志信息未修改,或未指定

a)终止,c)继续,e)编辑

c

svn:认证失败

E:\test>

----------------------------------------------------

[color=red]出现认证失败的信息,说明我们已经连接到SVN的服务器,不过服务器认为我们的客户端没有相应的权限,所以这时我们改变一下SVN的认证权限。

回到SVN仓库,即E:\svn\repository目录,我们发现这里面有一个conf目录,进入该文件夹,用文本编辑器打开svnserve.conf文件


我们看到这里是关于访问SVN仓库的一些认证设定,找到第12行:anon-access=read,这表示匿名用户的访问权限是读,并且大家注意到,该行的前面有个“#”。这表示改行是被注释掉的,这与Java的properties文件的注释方式是一致的,这也就说明了此时SVN服务器是不允许匿名登陆的,那么我们现在可以去掉“#”,不过现在客户端也只是匿名读,我们的import操作是写操作,所以我们在该行下面增加一行anon-access=write,如下面所示:

----------------------------------------------------

........

[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 = read

anon-access = write

# auth-access = write

........[/color]

----------------------------------------------------

保存,关闭该文件。

这时我们需要停止当前的svnserve的服务,然后重新启动,让它接受我们的改变,转到它的命令窗口,用ctrl+c停止它,再重新启动。

svnserve -d -r E:\svn\repository

现在回到之前的命令行窗口,重新执行import命令,操作步骤如前面一样,过程如下

----------------------------------------------------

E:\test> svn import svn://localhost

日志信息未修改,或未指定

a)终止,c)继续,e)编辑

c

增加       client

增加       。。。。

提交后的版本未1。

E:\test>

----------------------------------------------------

ok!我们的import操作终于成功了。(未完待续。。。)
1 楼 doloveme 2011-05-24  
如果出现:
sc create [service name] [binPath= ] <option1> <option2>...
CREATE OPTIONS:
NOTE: The option name includes the equal sign.
 type= <own|share|interact|kernel|filesys|rec>
       (default = own)
 start= <boot|system|auto|demand|disabled>
       (default = demand)
 error= <normal|severe|critical|ignore>
       (default = normal)
 binPath= <BinaryPathName>
 group= <LoadOrderGroup>
 tag= <yes|no>
 depend= <Dependencies(separated by / (forward slash))>
 obj= <AccountName|ObjectName>
       (default = LocalSystem)
 DisplayName= <display name>
 password= <password>

错误那么注意:

binpath=、dispalyname=、depend=后面是必须要有一个空格


sc create svnserve binpath= "d:\PortableApps\svn\svnserve.exe --service -r e:\svn" displayname= "Subversion" depend= tcpip start= auto

相关推荐

    windows下SVN服务器搭建

    ### Windows下SVN服务器搭建详解 #### 一、概述 本文档旨在详细介绍如何在Windows环境下通过Apache构建SVN(Subversion)服务器的过程。SVN是一种广泛使用的版本控制系统,主要用于软件开发过程中对源代码进行版本...

    windows下SVN服务器搭建总结

    windows下SVN服务器搭建,包括[服务端安装],[客户端安装],以及TortoiseSVN的使用详解

    windows下svn服务器环境搭建(subversion)

    总之,Windows下的SVN服务器环境搭建涉及多个步骤,从安装软件、创建仓库到配置权限和使用客户端。理解这些步骤对于有效地利用Subversion进行团队协作至关重要。同时,随着团队规模的扩大,你可能还需要考虑更多的...

    Windows下SVN服务器搭建方法整理(apache)

    本节和大家谈谈Windows下SVN服务器搭建问题,在这里拿出来和大家分享一下,希望对大家有用。 1,软件下载 Windows下SVN服务器搭建,下载Subversion服务器程序。到官方网站的下载二进制安装文件,来到二进制包下载...

    Windows apache svn服务器搭建

    完成以上步骤后,你就成功地在Windows上搭建了一个Apache SVN服务器。这个服务器不仅可以服务于本地开发环境,还可以通过网络供远程团队成员使用。在实际工作中,确保定期备份SVN仓库,以防数据丢失,并保持Apache和...

    Windows平台下搭建svn服务器

    Windows 平台下搭建 SVN 服务器 在 Windows 平台下搭建 SVN 服务器是一项复杂的任务,需要详细的步骤和配置。本文档将指导您如何在 Windows 平台下搭建 SVN 服务器,并解决可能遇到的问题。 软件安装 首先,需要...

    windows 搭建本地svn服务器

    以上就是在Windows上搭建本地SVN服务器的基本流程。值得注意的是,为了提高安全性,你应该考虑使用SSL/TLS加密连接,并为用户分配适当的权限。此外,保持Subversion和Apache的更新也很重要,以获取最新的安全补丁和...

    svn服务器搭建教程

    svn 服务器搭建教程 svn 服务器搭建是指使用 Subversion(简称 svn)版本控制系统在服务器端搭建版本控制服务器的过程。Subversion 是一个优秀的版本控制工具,具有很多优点,如跨平台、支持多种协议、版本控制、...

    SVN服务器搭建和使用

    ### SVN服务器搭建与使用详解 #### 一、SVN简介 Subversion(简称SVN)是一种集中式的版本控制系统,主要用于代码版本管理。它通过记录文件和目录的变化来帮助团队成员协同工作,支持多人同时开发同一项目,并能...

    windows下svn+apache搭建svn服务器.docx

    ### Windows下SVN + Apache搭建SVN服务器 在软件开发过程中,版本控制系统是必不可少的工具之一,它能够帮助团队高效地管理代码版本、合并更改以及追踪历史记录等。其中,Subversion (SVN) 是一个非常流行的集中式...

    详细介绍Windows下SVN服务器的配置

    【Windows下SVN服务器配置详解】 Subversion (简称SVN) 是一款强大的版本控制系统,它在Windows环境下同样可以被高效地配置和使用。本指南将详细介绍如何在Windows上搭建SVN服务器,包括Apache HTTP Server的安装、...

    SVN服务器搭建和配置[整理].pdf

    SVN 服务器搭建和配置指南 SVN 服务器搭建和配置是版本控制系统的重要组件。Subversion 是一个优秀的版本控制工具,它提供了强大的版本控制功能。本文将指导您如何搭建和配置 SVN 服务器,并使用 VisualSVN Server ...

    windows下搭建SVN服务器

    ### Windows下搭建SVN服务器详解 #### 一、概述 版本控制系统是软件开发过程中不可或缺的一部分,它能够帮助团队成员高效地协作,同时还能确保代码的安全性与稳定性。Subversion(简称SVN)作为一款非常流行的集中...

    SVN服务器搭建手册

    【SVN服务器搭建手册】 Subversion(简称SVN)是一种版本控制系统,广泛应用于Java和.NET项目的源代码管理,相比CVS提供了更为强大的功能和易用性。本篇将详细介绍如何在Linux环境中搭建SVN服务器,以帮助进行团队...

    svn服务器搭建与使用

    【SVN服务器搭建与使用详解】 SVN,全称Subversion,是一款强大的版本控制系统,用于管理软件项目的源代码,便于多人协作开发时的版本管理和代码同步。Subversion提供了集中式的版本控制,允许开发者追踪每一次改动...

    windows搭建svn服务器

    在本文中,我们将详细介绍如何在Windows平台上搭建SVN服务器,包括使用dos命令启动SVN服务器、使用批处理文件自动启动SVN服务器、将SVN服务器添加到Windows服务中等内容。 一、使用dos命令启动SVN服务器 要启动SVN...

    SVN 服务器环境搭建

    在这个"SVN 服务器环境搭建"的压缩包中,包含了搭建SVN服务器和客户端所需的所有资源,使得你可以方便地进行下载和安装。下面我们将详细讲解如何搭建一个SVN服务器。 1. **SVN服务器组件**: SVN服务器通常由两个...

    svn服务器搭建及自动邮件通知的实现

    本篇将详细讲解如何在Windows系统下搭建SVN服务器,并实现SVN自动发送邮件通知功能。 首先,我们需要了解Windows下搭建SVN服务器的基本步骤。这通常涉及到以下几个主要组件: 1. **安装SVN服务器**:常见的SVN...

Global site tag (gtag.js) - Google Analytics