SVN的优点:
- 目录版本控制(全局版本号)
- 一致的数据处理: Subversion 使用二进制文件差异算法展现文件的区别。
- 版本控制的元数据
- 高效的分支和标签
- 原子提交
版本控制的方法模型:
- Lock-Modify-Unlock
优点:强制管理,没有conflict。
缺点:对修改的并发性支持不佳;修改涉及多个文件时,容易造成死锁。
- Copy-Modify-Merge
优点:对修改的并发性支持好;修改涉及多个文件时,支持原子提交。
缺点:check in可能有conflict。
Work Copy如何跟踪版本库?
对于Work Copy中的每一个文件, SVN在其管理目录.svn中记录了:
- 基准版本号
- 最后更新时间戳
通过这两项信息,SVN可以知道该文件是处于如下状态中的哪一个:未修改且是当前的, 本地已修改且是当前的, 本地未修改且过时, 本地已修改且过时。