版本控制工具 Subversion 入门与进阶指南
1 前言
在开源软件的世界里,Concurrent Versions System(CVS)多年来一直是版本控制的首选工具。它是开源软件,非限制性的操作模式和对网络操作的支持,让众多地理上分散的程序员能够共享工作,非常契合开源世界的协作特性。然而,CVS 也存在一些缺陷,要修复这些缺陷并非易事。于是,Subversion 应运而生。它旨在成为 CVS 的继任者,一方面创建了一个与 CVS 设计和“外观感受”相似的开源系统,另一方面尽量避免了 CVS 的大部分明显缺陷。虽然它不一定是版本控制设计的下一次重大演进,但功能强大、易用且灵活。如今,几乎所有新启动的开源项目都选择 Subversion 而非 CVS。
2 适用人群
本文主要面向希望使用 Subversion 管理数据的计算机爱好者。Subversion 可在多种操作系统上运行,但其主要用户界面基于命令行,命令行工具(svn)及一些辅助程序是核心。为保持一致性,示例假设读者使用类 Unix 操作系统,且熟悉 Unix 和命令行界面。不过,svn 程序也能在 Windows 等非 Unix 平台上运行,除了路径分隔符使用反斜杠(\)而非正斜杠(/)等少数细微差异外,在 Windows 上的输入和输出与 Unix 版本基本相同。
大多数读者可能是需要跟踪源代码更改的程序员或系统管理员,这是 Subversion 最常见的用途,也是所有示例的场景基础。但 Subversion 可用于管理任何类型信息的更改,如图像、音乐、数据库、文档等,在它看来,所有数据都是一样的。即便假设读者从未使用过版本控制系统,也会让 CVS(及其他系统)用户能轻松过渡到 Subve