SVN的概述

一.什么是svn

SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。

二.SVN的作用

项目开发与管理的标准做法,能追踪项目从开始到结束的整个过程,常被应用于软件程序开发。对编程人员而言,版本控制技术是团队协作开发的桥梁,有助于多人同步进行大型程序开发。由于在多人协作开发的模式下,每个人都向服务器提交自己的文件,就可能存在着代码被多次修改、替换的风险,但是版本控制能够在每次更新操作后进行相应的记录。一旦发生误操作,开发者能够根据服务器中的版本记录,将项目恢复到出现问题之前的其他版本。因此,借助版本控制技术,软件开发项目可以被分割为若干模块,每个模块并行地进行开发工作,从而有效地提高了整体编程效率。

三.SVN的图解

图片

四.SVN的文件管理模式

1.Lock-Modify-Unlock工作模式【不常用】

在Lock-Modify-Unlock工作模式下,若用户想对某文件进行修改,必须先锁定该文件再进行修改,修改操作完成之后再对其解锁。这种文档管理模式能够有效避免多人对某文件同时进行修改而造成的冲突,但是它减少了用户并发操作。除此之外,该模式还有一个非常明显的缺点,即如果前面的用户完成修改后,忘了对文件进行解锁操作,则会导致后面想修改此文件的用户将永远处于等待解锁状态。

2.opy-Modify-Merge工作模式【常用】

opy-Modify-Merge工作模式下,当某一用户想修改文件时,可以先将服务器文件update到本地端,然后在本地端对副本进行修改,修改操作完成后,再将副本commit到服务器。如果在此用户commit之前,原文件已经被其他用户修改并提交过,那么服务器上的版本号与本地端上的版本号不同,二者将产生冲突,服务器将中止提交。此用户只有将服务器上的新版本update到本地端,将其与自己修改的文件进行合并,才能重新commit到服务器。在实际编程中,文件的合并过程一般需要编程人员共同协商决定。这种“拷贝-修改-合并”虽然需要花费一定的时间,但却比“锁-修改-解锁”等待的时间短,能够增加操作的并发度,大大提高团队的编程效率。

五.SVN的运行方式

1.独立服务器运行svn

2.借助apache运行svn

六.SVN的架构

图片

七.SVN的存储数据的方式

SVN存储版本数据也两种方式:BDB(一种事务安全型表类型)和FSFS(一种不需要数据库的存储系统)。因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式更安全一点。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值