原文: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. 在win8.1 64位系统+cocos2d-x2.2.3下搭建android交叉编译环境

    搭建前须要下载的软件包(默认已搭建好cocos2d-x而且可在VS上执行,本人VS版本号为2013): 1:java 下载地址:http://www.java.com/zh_CN/download/m ...

  2. 使用Hadoop的MapReduce与HDFS处理数据

    hadoop是一个分布式的基础架构,利用分布式实现高效的计算与储存,最核心的设计在于HDFS与MapReduce,HDFS提供了大量数据的存储,mapReduce提供了大量数据计算的实现,通过Java ...

  3. Mac OS X中报:java.io.UnixFileSystem.createFileExclusively(Native Method)的简单原因

    这个博客太简单了!想到可能有其它朋友也遇到这个问题,就记录一下. 今天把一个之前在Windows上的Java项目放到Mac OS X上执行,本来认为应该非常easy的事情,结果还是报: Excepti ...

  4. 【智能家居篇】wifi网络访问原理(下一个)——联想Association

    转载请注明出处:http://blog.csdn.net/Righthek 谢谢! 认证完毕后,下一步就是关联(Association). 工作站与基站进行关联.以便获得网络的全然訪问权. 关联属于一 ...

  5. 在ASP.net中的UpdatePanel,弹窗失败解决办法

    原文:在ASP.net中的UpdatePanel,弹窗失败解决办法 最开始我用: Response.Write("<script>alert('和哈呵呵呵呵呵呵!')</s ...

  6. Linq入门演练---(1)基本用法-分组,排序,内连接

    这一节大家共同学习下LINQ的基本用法,主要包括LINQ的分组,排序,和内外连接. 1.分组 基本语法:  group element by key element 表示查询结果返回的元素,key表示 ...

  7. maven+hudson构建集成测试平台

     1.下载hudson.war.2.命令行运行:java -jar hudson.war --httpPort=8070 -Dorg.eclipse.jetty.util.URI.charset=GB ...

  8. IOS SDK相机的详细解释/画廊(默认+他们的高清摄像头接口)

    原版的blog,转载请注明出处 blog.csdn.net/hello_hwc 前言: 新NSURLSession的UploadTask的,结果写那个Demo的时候想要写成拍照上传.然后就想到先写一个 ...

  9. CSharp设计模式读书笔记(9):组合模式(学习难度:★★★☆☆,使用频率:★★★★☆)

    组合模式(Composite Pattern): 组合多个对象形成树形结构以表示具有“整体—部分”关系的层次结构.组合模式对单个对象(即叶子对象)和组合对象(即容器对象)的使用具有一致性,组合模式又可 ...

  10. Net开源网络爬虫

    转载.Net开源网络爬虫Abot介绍 .Net中也有很多很多开源的爬虫工具,abot就是其中之一.Abot是一个开源的.net爬虫,速度快,易于使用和扩展.项目的地址是https://code.goo ...