原文: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. 海哥:T2C时代的到来了,那么什么叫T2C?

    昨天写了一篇文章叫做<我为什么选择家具行业,以及T2C概念的创办>,地址:http://user.qzone.qq.com/198819880/blog/1414399801 ,里面提到了 ...

  2. Rust这个新的语言

    Rust这个新的语言 Rust初步(七):格式化 摘要: 在Rust中,如果要进行屏幕输出,或者写入到文件中,需要对数据进行格式化.这一篇总结一下它所支持的几种格式化方式. 这篇文章参考了以下官方文档 ...

  3. ABP展现层——动态生成WebApi

    ABP展现层——动态生成WebApi 点这里进入ABP系列文章总目录 ABP(现代ASP.NET样板开发框架)系列之20.ABP展现层——动态生成WebApi ABP是“ASP.NET Boilerp ...

  4. SQL Server 备份和还原全攻略

    原文:SQL Server 备份和还原全攻略 一.知识点 完全备份: 备份全部选中的文件夹,并不依赖文件的存档属性来确定备份那些文件.(在备份过程中,任何现有的标记都被清除,每个文件都被标记为已备份, ...

  5. 如何让格斗游戏的横版过关(2) Cocos2d-x 2.0.4

    在第一章<如何使横版格戏>基础上.添加角色运动.碰撞.敌人.AI和音乐音效,原文<How To Make A Side-Scrolling Beat 'Em Up Game Like ...

  6. Oracle中使用Entity Framework 6.x Code-First

    Oracle中使用Entity Framework 6.x Code-First方式开发 去年写过一篇EF的简单学习笔记,当时EF还不支持Oracle的Code-First开发模式,今天无意又看了下O ...

  7. 使用Maven在Eclipse中创建Web项目[转]

    一.新建 Maven Web项目 1.新建Maven Project new project-->选择 Maven Project --> 下一步 选择工作空间 -->下一步 在Fi ...

  8. 【Android界面实现】可旋转的汽车3D模型效果的实现

    转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992 今天要给大家介绍的是怎样实现可旋转的汽车3D模型. 先看实现效果 这仅仅是静态图,实际上,这个模型是能够依据 ...

  9. CUMCM--总结

    有些事情经历一次就好,一次的经历足以成长. 其实,对于数模真的没什么要说的,也没什么好写的.从9月11日,8点见到赛题,到今天早上8点的提交,短短的三天,度过寂静的黑夜,见到微曦的黎明.三天三夜,9个 ...

  10. NYoj WAJUEJI which home strong!(简单搜索)

    题目链接:http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=1100 这道题,自己初写搜索,给学长气的只打我,Orz....... 搜索的思路要理 ...