SVN简介及工作原理

SVN需求
需求之一:代码备份:防止特殊情况下代码丢失
需求之二:代码还原:能够还原到某个特定的版本
需求 之三:协同修改:开发人员之间共同开发一个项目,相互之间互不影响.
需求之四:多版本项目文件管理:保存多个项目版本,实现需求二
需求之五:追溯问题代码的编写人和编写时间:找到问题代码所在,快速解决问题.
需求之六:权限 控制:防止其他人员恶意修改代码
SVN简介
可选的网络层
Subversion 在版本库访问方面有一个抽象概念,利于人们去实现新的网络机 制,Subversion 的“高级”服务器是 Apache 网络服务器的一个模块,使用 HTTP 的变种协议 WebDAV/DeltaV 通讯,这给了 Subversion 在稳定性和交互性方面很 大的好处,可以直接使用服务器的特性,例如认证、授权、传输压缩和版本库浏 览等等。也有一个轻型的,单独运行的 Subversion 服务器,这个服务器使用自 己的协议,可以轻松的用 SSH 封装

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

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

SVN 的工作原理:
采取客户端/服务器模式——在服务器的版本库中保存项目文 件的各个版本,所有参与协同开发的程序员在自己本地电脑上保存一个工作副本。 SVN 支持程序员将本地副本更新到服务器端的最新版本,也支持将本地副本的最 新改变更新到服务器端,而且后面的更新不会覆盖前面的更新,而是作为一个新的版本被保存下来——SVN甚至支持将本地工作副本恢复为服务器端保存的某一 个历史版本。

你可能感兴趣的:(SVN简介及工作原理)