(Subversion)SVN 介绍

一、SVN基本概念

SVN是Subversion的简称,是一个自由开源的版本控制系统。
Subversion将文件存放在中心版本库里,这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况,这样就可以借此将数据恢复到以前的版本,并可以查看数据的更改细节。早期版本控制使用的是CVS,后来SVN替代了CVS,随着android兴起,出现Git版本控制工具。

(Subversion)SVN 介绍
问题: 怎样让系统允许用户共享信息,而不会让他们因意外而互相干扰?

  • 复制-修改-合并方案(Subversion默认的模式)
    在这种模型里,每一个客户读取项目配置库建立一个私有工作副本,版本库中文件和目录的本地映射。
    用户并行工作,修改各自的工作副本,最终,各个私有的复制合并在一起,成为最终的版本,这种系统通常可以辅助合并操作,但是最终要靠人工去确定正误。
  • 锁定-修改-解锁方案
    在这样的模型里,在一个时间段里配置库的一个文件只允许被一个人修改。 此模式不适合软件开发这种工作

二、SVN 架构

(Subversion)SVN 介绍
Subversion 支持 Linux 和 Windows,更多是安装在 Linux 下。

svn 服务器有2种运行方式:独立服务器和借助apache运行。两种方式各有利弊,用户可以自行选择。

svn存储版本数据也有2种方式:BDB一种事务安全型表类型和FSFS一种不需要数据库的存储系统。

因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式更安全一点。