原文:svn搭建

二.Subversion的安装与测试

Subversion的配置方式有很多种,同时也可以配置不同的操作系统之上,本文我讲解的是Subversion 1.5.4 for Apache2.2在Windows下的安装,通过与Apache的集成,Subversion可以采用Web Http的方式提供服务,这样便于在互联网的环境下使用,提供目录及其版本控制。这里值得注意的是Subversion对不同版本的Apache支持有所 不同,下载Apache的版本一定要和Subversion提供支持的Apache版本相匹配,否则将不能配置其进行正常工作,个体的请查阅 Subversion官方网站(http://subversion.tigris.org/)。

  1. 安装Apache2.2

关于安装Apache2.2,你可以先到官方网站上下载其软件http://httpd.apache.org/, 下载完后,先不要安装,首先要做的就是停掉IIS(如果你已经安装了的话),因为Apache2.2的安装默认要占用IIS的80端口,而这与IIS相冲 突,在停了IIS之后,我们就可以点击进行安装,安装过程中一直点击下一步即可(可以设置其要安装的路径),直到安装完成。安装完成后如下图所示。

因为Apach安装默认是80端口,如果它使用了80端口话,那IIS现在就无法使用了, 那么我们可以给Apache更换一个端口号,方法是打开Apache安装路径下的conf文件夹下的httpd.conf文件,在其中找到Listen 80这一行,将后面的80改成你相使用的端口号,如8000。下面我们就来测试一下看其是否可以正常工作,重新启动Apache,如下图所示:

Apache是已经启动了,那么我们怎么知道我们的设置是正常的呢?下面我们就找开IE,在其中输入http://localhost:8000/,如果你能够看到哪下界面,那么说明其已正常工作了。

  1. 安装Subversion

先到Subversion官方网站上一载Subversion 1.5.4,本人下的这个并非一个安装包,所以你要将其解压到你所指定的目录。如本人将其指定在C:\Program Files\svn-win32-1.5.4,如下图所示。

拷贝文件如下:

  1. 把这个安装目录bin里的mod_authz_svn.so和mod_dav_svn.so拷贝到Apache2.2安装路径下的modules 目录里(如本人安装路径的C:\Program Files\Apache2.2\modules)。
  2. 所Subversion目录里所有的*.dll文件及svnadmin.exe文件拷贝到Apache2.2安装路径下的bin目录里(如本人安装路径的C:\Program Files\Apache2.2\bin)。
  1. 配置Apache

    打开Apache安装路径下的conf文件夹下的httpd.conf文件,找到下面两行,并把前面的#号删除(说明:#号在此文件中作为注释使用)。

#LoadModule dav_module modules/mod_dav.so

#LoadModule dav_fs_module modules/mod_dav_fs.so

然后在所有LoadModule的最下行增加如下两行:

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so

具体位置如下图所示:

重新启动Apache,这时其实已经将Subversion与Apache进行了初步的集成,如下图所示:

下面要做的事就是为Subversion创建一个用来存放文件的目录,比如说我们将其设定 为D:\SvnServer,那么我们如何来通知Apache我们的资源路径在什么地方呢?可以通过在httpd.conf文件的最后加入 Location标签来进行设置,如下所示:

#Add below section for add the sebversion project root description

#Update by Xiong Wei

#Date 09 April 2009

<Location /svn>

DAV svn

SVNParentPath D:/svnserver

</Location>

这个时候我们的资源目录已经设计好了,下面我们就来为此创建一个项目资源文件。

  1. 在开始菜单à运行中输入cmd,然后把目录转换到Apache的bin目录下;
  2. 通过输入如下命令来创建一个项目资源文件TestProject

    svnadmin create D:\svnserver \TestProject

    如下图所示:

创建的项目文件如下图示:

这个时候我们的项目文件已经创建好了,我们可以通过下面的Http网址进行访问了http://localhost:8000/svn/testproject,这个时候没有对此访问加任何访问权限控制。下面我们就来说一下如何创建用户。

  1. 用户创建
    1. 在开始菜单à运行中输入cmd,然后把目录转换到Apache的bin目录下;
    2. 通过输入如下图的命令来创建一个用户:

这个时候,你在D:\SvnServer目录下面就会看到一个svn_auth_passwd,这个说明用户文件已经创建,这里要加以说的是,-c用于第一次创建文件使用,如果以后要加用户就不能再使用-c了,要使用-m。

接下来你用http://localhost:8000/svn/testproject 去访问的时候,他就会叫你输入用户名和密码去验证了。

三.客户端的使用

上面我们已经配置好了Subversion的目录,即Server,那么我们对于每一个开发的程序员来说,如何Get Source Code呢?下面我们就来谈谈这个问题?

我们现在可以安装一个TortoiseSVN,可以到官方网站(http://tortoisesvn.tigris.org/)上面下载,这是一个非常好用的Subversion客户端软件,安装步骤非常简单,这里不在说明了。在安装好这个软件后,我们点击鼠标右键,你会发现多了几个菜单,如下所示:

客户端使用的时候,我们除了上面所说网页看的那种方式,我们可以点击SVN CheckOut从SVN Server从指定的目录去下载要使用的项目,会弹出一个配置框,在下载地址中输入http://localhost:8000/svn/testproject,点击OK,就会出现如下图的验证方式,输入在上面创建的用户名和密码,你就可以从SVN上面下载testproject的内容到本地了。

下面再和大家共享一下TortoiseSVN的一些简单用法:

  1. 增加文件

假设我们上面在一个叫GetTestProjectSource的文件夹上点击了SVN CheckOut,那么我们现在就在GetTestProjectSource里新建一个文件叫test.txt的文件,然后又击这个文件到这个文件上, 在TortoiseSVN中点击Add,点击OK,加完后,你会发现文件的图标发生的改变,就说明我们已经把文件加到SVN Server上了,这只是加上,还没有提交,你需要再点右击这个文件,你会发现多了一个SVN Commit项目,点击这个,把这个文件commit上去,这里你的文件才是正确到Server上了,同时文件图标也发生了改变。

这个时候如果有人同样的在来获得这个http://localhost:8000/svn/testproject 路径上的内容的时间就会看到这个文件被下载了。

  1. 修改文件

可能我们会在本地进行修改,就是我们一开始说的,昨天我把修改完的代码Commit上去了,那么今天我可能对这些代码做了修改, 修改完后我们应该怎么做呢?

我们现在就打开test.txt文件并在其中输入test,然后点击保存,这时你 会发现图标会变给,就说明这个文件已经在你的本地修改过,与SvnServer服务器上的版本已经不统一了,现在你服务器上的是昨天的代码,你这个是你刚 修改的代码。我们需要所这两个代码进行同步。

点击这个文件右键,再次选择 SvnCommit,代码就上去了。这个时候说明现在服务器上的代码都是最新的了。

上面我们把文件加上去后,或者更新了,那么假设现在有两个用户在进行开发,另外一个用户怎 么知道我做了哪些修改呢,又如何获得这些代码呢?我们可以通过右键点击这个文件夹,然后选择Update来更新当前的文件夹,就是他就可以获得我所修改的 代码了,具体的我就里就不说你了,自己做一下测试吧。

  1. 查看修改过的版本及比较版本

我们刚才对test.txt文件做了修改,并且更新到了SVN Server上,那么现在我们对这个文件再次做修改,在原来内容的test后面加上 by Xiong Wei,然后保存,这时我们先不要进行SVN Commit,我们点击,选择如下图所示的Diff。

我们将会看到本次修改与上次的修改有什么不同了,如下图所示:

现在我们将这个文件Commit上去。

比较说我们想知道这个文件被更新过多少次,每次之间代码的修改有什么区别,应该怎么办呢?

不用急,TortoiseSVN也为我们提供了这样的功能。我们可以左击这个文件,选择TortoiseSVN下的Show log,这个时候我们就可以看到整个被修改过的记录了,如下图所示。

我们可以从中任意选择两个条想要比较的记录(按Ctrl键选中),然后点击左键,选择Compare revisions。

我们还可以将我们本地的代码恢复到一个较早的版本,只要选择上面记录点的一条后,右击此记录,选择Revert to this revision,就是可将你本地的代码恢复到较早的版本了。

需要注意的是假设UserA和UserB都获得了 现在的版本Revision显示为3,当UserA再次修改后Commit,那么Revision就是4了,那就UserB就不能再更新了,会被提示一个 更新错误信息,只有把当前的版本更新到4后,在4上做操作才能被允许Commit。

svn搭建的更多相关文章

  1. linux下svn 搭建

    linux 下SVN搭建加自动提交更新到指定目录一.安装#yum install subversion       yum安装SVN#mkdir -p /opt/svn/repos       创建s ...

  2. 转载-Linux下svn搭建配置流程

    Linux下svn搭建配置流程     一.    源文件编译安装.源文件共两个,为: 1.   下载subversion源文件 subversion-1.6.1.tar.gz http://d136 ...

  3. Hudson+Maven+Svn搭建持续集成环境

    Hudson+Maven+Svn搭建持续集成环境 博客分类: 配置管理 mavenSVNTomcat项目管理配置管理 一.所用开发工具 1.    Hudson: Hudson 是一种革命性的开放源码 ...

  4. Svn———搭建及配置

    一.Svn介绍 subversion(简称svn)是近几年崛起的版本管理软件,是cvs的接班人,目前绝大多数开源软件都使用svn作为代码版本管理软件.Subversion支持linux和windows ...

  5. jenkins和svn搭建自动代码构建发布

    jenkins安装和配置 .安装jenkins .yum install java wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins. ...

  6. Docker+Jenkins+Maven+SVN搭建持续集成环境

    Docker+Jenkins+Maven+SVN搭建持续集成环境 环境拓扑图(实验项目使用PHP环境) 发布流程图 环境说明 系统:Centos 7.4 x64 Docker版本:18.09.0 Ma ...

  7. 【SVN】Linux下svn搭建配置全过程——初学者轻松上手篇

    版本控制主要用到的是git和svn,其中svn界面化使用操作简单,本篇简单介绍SVN搭建配置全过程. 1. 下载并安装 yum install subversion 查看版本 svnserve --v ...

  8. SVN学习---使用 Visual SVN 搭建SVN服务器

    1.1. 使用 Visual SVN 搭建SVN服务器 搭建纯粹SVN服务器 --- svn:// 访问资源 将SVN 和 Apache服务器整合 ,搭建web SVN服务器 ----  https: ...

  9. SVN搭建简单教程

    一.引言 笔者曾经试图在网上搜索一篇关于SVN源代码服务器搭建方面的中文技术文章,可惜,所找到的,要么是不完整,要么就是对笔者没什么帮助的文章,TortoiseSvn的帮助文档固然强大,但因为是英文, ...

随机推荐

  1. HDU 4283 You are the one(间隔DP)

    标题效果: The TV shows such as You Are the One has been very popular. In order to meet the need of boys ...

  2. HDU 4085 Steiner树模板称号

    Dig The Wells Time Limit: 6000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) To ...

  3. handlebar的一些用法——个人使用总结

    handlebar的一些用法 概述与介绍 Handlebars 是 JavaScript 一个语义模板库,通过对view和data的分离来快速构建Web模板.它采用"Logic-less t ...

  4. 雅居乐在核心产品 &quot;决策&quot;

    2015.6.2 在武汉-- 这是一支谦卑且认真学习,又实实在在做产品的 "产品级敏捷团队". "产品级敏捷团队"--在产品版本号开发的生命周期中.均能共同高效 ...

  5. CENTOS6.4安装lxml失败

    环境如下: Centos6.4 Python 2.7.6 pip install lxml 执行上面的命令,有类似下面的提示: src/lxml/lxml.etree.c:188133: error: ...

  6. 再议 js 数字格式之正则表达式

    原文:再议 js 数字格式之正则表达式 前面我们提到到了js的数字格式<浅谈 js 数字格式类型>,之前的<js 正则练习之语法高亮>里也提到了优化数字匹配的正则.不过最近落叶 ...

  7. 开发者:网站 & SDK

    { 收集的一些.开发工具 } Teambition 团队协作工具 GitCafe 代码托管 FIR.im App 托管平台 Coding 代码托管,项目管理,WebIDE 计蒜客 编程学习 SendC ...

  8. poj 1556 zoj1721 BellmanFord 最短路+推断直线相交

    http://poj.org/problem?id=1556 The Doors Time Limit: 1000MS   Memory Limit: 10000K Total Submissions ...

  9. UIAppDelegate介绍

    #import "GLAppDelegate.h" @implementation GLAppDelegate // 当应用程序启动完毕的时候就会调用(系统自动调用) - (BOO ...

  10. Appium基于安卓的各种FindElement的控件定位方法实践和建议

    AppiumDriver的各种findElement方法的尝试,尝试的目标应用是SDK自带的Notepad应用. 1. findElementByName 1.1 示例 el = driver.fin ...