Windows下搭建SVN服务器并配置eclipse和idea

简介: Windows下搭建SVN服务器并配置eclipse和idea

【1】SVN是什么


Subversion就是一款实现版本控制的工具软件,通常也称为版本控制器,简称SVN。Subversion是Apache软件基金会组织下的一个项目。


版本控制[Revision control],最初来源于工程设计领域,是维护工程蓝图的标准做法,能追踪工程蓝图从诞生一直到定案的过程。是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统。

【2】SVN的优良特性


①目录版本控制


CVS只能追踪单个文件的历史,但是Subversion实现了一个“虚拟”文件系统,可以追踪整个目录树的修改,文件和目录都是版本控制的,结果就是可以在客户端对文件和目录执行移动和复制命令。


②原子提交


提交要么完全进入版本库,要么一点都没有,这允许开发者以一个逻辑块提交修改。


③版本控制的元数据


每个文件和目录都有一组附加的“属性”,你可以发明和保存任意的键/值对,属性也会像文件内容一样被纳入版本控制。④可选的网络层


Subversion在版本库访问方面有一个抽象概念,利于人们去实现新的网络机制,Subversion的“高级”服务器是 Apache 网络服务器的一个模块,使用 HTTP 的变种协议 WebDAV/DeltaV 通讯,这给了 Subversion 在稳定性和交互性方面很大的好处,可以直接使用服务器的特性,例如认证、授权、传输压缩和版本库浏览等等。也有一个轻型的,单独运行的 Subversion 服务器,这个服务器使用自己的协议,可以轻松的用 SSH 封装。


⑤一致的数据处理


Subversion使用二进制文件差异算法展现文件的区别,对于文本(人类可读)和二进制(人类不可读)文件具备一致的操作方式,两种类型的文件都压缩存放在版本库中,差异在网络上双向传递。


⑥高效的分支和标签


分支与标签的代价不与工程的大小成比例,Subversion建立分支与标签时只是复制项目,使用了一种类似于硬链接的机制,因而这类操作通常只会花费很少并且相对固定的时间,以及很小的版本库空间。

【3】SVN的工作原理


采取客户端/服务器模式——在服务器的版本库中保存项目文件的各个版本,所有参与协同开发的程序员在自己本地电脑上保存一个工作副本。


SVN支持程序员将本地副本更新到服务器端的最新版本,也支持将本地副本的最新改变更新到服务器端,而且后面的更新不会覆盖前面的更新,而是作为一个新的版本被保存下来——SVN甚至支持将本地工作副本恢复为服务器端保存的某一个历史版本。


20171124112441204.png

【4】SVN的基本操作


①检出(checkout):将一个服务器端创建好的项目整个下载到本地,这是到项目组后参与开发的第一步,只需执行一次。


②更新(update):将本地文件更新为服务器端的最新版本,通常为每天上班时或修改公共文件之前执行一次。


③提交(commit):将本地修改提交到服务器端。通常每天下班前或每实现一个功能、完成一个模块时执行一次。

【5】SVN服务器安装

①服务器端程序版本

目前Subversion的最新版本是 1.9.0-alpha2,这是一个测试版。官方网站推荐使用的版本是1.8.9,原话是:The best available version of Apache Subversion is: 1.8.9


②下载源码包


③下载二进制安装包

Subversion在不同平台下的二进制包是由不同组织构建实现的,Windows平台下的二进制包实现情况如下:


下载到的文件是:Setup-Subversion-1.8.9-1.msi

④ 双击安装,直接下一步就行。

安装完会自动配置环境变量。



⑤ 验证是否安装成功

命令窗口下输入:svn --version 或svnserve --version。



【6】SVN配置版本库

①为什么要配置版本库?


Subversion是将文件数据信息保存到版本库中进行管理的,为了满足用户的不同需求,Subversion允许用户对版本库目录进行定制。


②在一个非中文无空格目录下创建一个文件夹,作为版本库的根目录。


例如:F:\SvnRep


③在版本库根目录下创建与具体项目对应的子目录——这样做的目的是使一个SVN服务器能够同时管理多个项目,而不是为每一个项目搭建一个SVN服务器——这显然太浪费资源了


例如:


F:\SvnRep\CRM

F:\SvnRep\ERP

F:\SvnRep\OA

④ 创建版本库

命令格式如下:

svnadmin create 仓库路径


如:

svnadmin create F:\SvnRep\CitySI


20171124145441827.png


⑤ 版本目录结构

版本库创建成功后会在指定目录下产生如下的目录结构:


【7】将svn注册为服务并开机启动


SVN服务器必须处于运行状态才能响应客户端请求,帮助我们管理项目文件。所以我们必须将SVN服务器启动起来。启动SVN 服务器有两种方法,一个是命令行方式,一个是注册Windows服务。

① 命令行模式:

验证服务是否启动


SVN服务监听3690端口,打开一个新的cmd窗口,使用netstat -an 命令查看3690端口是否被监听


命令行方式的缺陷是:只要运行服务器端程序的命令行窗口一关闭,服务就停止了,很不方便,而且每次开机都需要手动启动。


② 注册Windows服务


[1]将SVN服务端程序注册为Windows服务,就可以让SVN服务随系统一起启动,克服了命令行方式的不足。


[2]注册Windows服务需要利用XP、2000以上系统自带工具Service Control,执行文件是sc.exe,注意这个命令不是SVN的命令。


[3]命令格式


[4]binpath组成结构说明


[5]关于“版本库目录”


[6]最终命令举例

sc create SVNService binpath= "F:\Subversion\bin\svnserve
.exe --service -r F:\SvnRep" start= auto depend= Tcpip



20171124145546092.png

此时查看当前系统中的服务,可以看到我们刚刚创建的服务,但此时它还没有启动,如果创建失败,需检查sc命令是否正确

启动服务命令格式:

sc start 服务名


停止服务命令格式:

sc stop 服务名

删除服务命令格式:

sc delete 服务名

可以在计算机-管理-服务中将注册的service服务设置为自启动。

【8】eclipse下配置svn


安装完插件后,重启eclipse,实例如下:

2019031315462553.png


【9】idea下配置svn

如下图所示,File-Settings-Version Control-Subversion。路径C:\Program Files\TortoiseSVN\bin\svn.exe是SVN客户端TortoiseSVN的bin目录下的svn.exe。



20190313151717193.png

关于SVN安装软件说明参考下图:


【10】idea打开svn项目不显示svn状态

在VCS菜单中有个开关,叫Enabled Version Control Integration,在打开的窗口的选项中选择Subversion即可。操作如下图:


弹出界面中选择:Subversion:

目录
相关文章
|
22天前
|
弹性计算 Linux 数据安全/隐私保护
教程:幻兽帕鲁联机服务器多人游戏专用服务器(Windows)
幻兽帕鲁联机服务器多人游戏专用服务器(Windows)搭建教程,玩转幻兽帕鲁服务器,幻兽帕鲁Palworld多人游戏专用服务器一键部署教程,阿里云推出新手0基础一键部署幻兽帕鲁服务器教程,傻瓜式一键部署,3分钟即可成功创建一台Palworld专属服务器,成本仅需26元,阿里云百科分享2024年新版基于阿里云搭建幻兽帕鲁服务器教程
|
19天前
|
弹性计算 运维 安全
阿里云服务器Windows和Linux操作系统区别对比
阿里云服务器Windows和Linux操作系统区别对比,性能有差异吗?有,同配置下Linux性能要优于Windows,但这与阿里云无关,仅仅是linux和windows之间的区别。另外,阿里云提供的windows和linux操作系统均为正版授权,用户不需要额外支付许可费用,如何选择?看用户自己的应用程序情况。
|
1天前
|
存储 网络协议 Ubuntu
Linux环境下的SVN服务器搭建并结合内网穿透实现远程连接
Linux环境下的SVN服务器搭建并结合内网穿透实现远程连接
|
1天前
|
安全 关系型数据库 MySQL
利用windows服务器自带的IIS搭建网站并发布公网访问【内网穿透】
利用windows服务器自带的IIS搭建网站并发布公网访问【内网穿透】
利用windows服务器自带的IIS搭建网站并发布公网访问【内网穿透】
|
1天前
|
弹性计算 网络安全 Apache
windows server2012服务器下PHPstudy配置ssl证书(https配置)
windows server2012服务器下PHPstudy配置ssl证书(https配置)
12 0
|
8天前
|
监控 安全 网络协议
windows服务器权限分析
windows服务器权限分析
8 1
windows服务器权限分析
|
11天前
idea svn 文件夹颜色级联改变
idea svn 文件夹颜色级联改变
9 0
|
13天前
|
弹性计算 编解码 监控
ECS实例问题之ECS实例无法选择Windows操作系统如何解决
ECS实例指的是在阿里云ECS服务中创建的虚拟计算环境,用户可在此环境中运行应用程序和服务;本合集将介绍ECS实例的创建、管理、监控和维护流程,及常见问题处理方法,助力用户保障实例的稳定运行。
|
20天前
|
运维 安全 Linux
使用阿里云搭建幻兽帕鲁服务器操作系统类型Windows和Linux有区别吗?
使用阿里云搭建幻兽帕鲁服务器操作系统类型Windows和Linux有区别吗?性能有差异?同配置的游戏服务器,如4核16G或8核32G配置等,选择Windows和Linux操作系统差异不太大,如果非要对比的话,Linux系统相对Windows更少占用计算资源,当然如果对Linux不熟悉的话,可以选择Windows。另外,即便是幻兽帕鲁服务器创建成功后,也是可以免费修改操作系统的
72 1
|
25天前
|
Ubuntu Linux 数据安全/隐私保护
如何在windows电脑上搭建Linux环境(手把手教安装虚拟机软件和使用云服务器)
如何在windows电脑上搭建Linux环境(手把手教安装虚拟机软件和使用云服务器)

热门文章

最新文章

相关产品

  • 云迁移中心
  • 推荐镜像

    更多