1.1.1 SVN 介绍
- SVN是Subversion的简称,是一个自由开源的版本控制系统。
SubVersion将文件存放在中心版本库里,这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况,这样就可以借此将数据恢复到以前的版本。并可以查看数据的更改细节 - 早期版本控制使用的是CVS,后来SVN替代了CVS,随着Android的兴起,出现了Git版本控制工具。
1.1.2 SVN基本概念
① 问题:怎样让系统允许用户共享信息,而不让他们因为意外而互相干扰
赋值-修改-合并方案(subversion默认的模式),在这种模式里,每个客户读取项目配置库建立一个私有工作副本——版本库中文件和目录的本地映射。用户并行工作,修改各自的工作副本,各个私有的复制合并在一起,成为最终的版本,这种系统通常可以辅助合并操作,但是要靠人工去确定正误。
锁定-修改-解锁方案
在这样的模型里,在这样一个时间段配置库的文件只允许被一个人修改。此模式不适合软件开发工作。
第三节 SVN架构
- Subversion支持Linux 和Windows,更多的是安装在Linux下
- svn服务器有来中和运行模式:独立服务器和借助Apache运行。俩种方式各有利弊,用户可以自行选择
- svn存储版本数据也有俩种方式:BDB(一种事务安全型表类型)和FSFS(一种不需要数据库的存储系统)因为BDB方式在服务器中断时,有可能锁住数据,所有还是FSFS方式更安全一点。