版本控制是管理信息变更的艺术。版本控制软件成为程序员的重要工具已经很久了,因为作为程序员的典型行为,他们常要花时间在这样的事上:今天对软件做点改动而明天又需要取消。但是版本控制软件的用处远不止于软件开发。只要你发现人们需要用计算机管理经常修改的信息的地方,都有版本控制的用武之地,也就是Subversion的展示舞台。
本章对Subversion作简要介绍:它是什么?它做什么?怎么得到它?
Subversion是一个免费的、开放源码的版本控制系统。就是说,Subversion管理随时改动的文件和目录。文件树被放在一个中央资料库(Repository)中。这个资料库象一个普通的文件服务器,但是它可以记录文件和目录的每次改动。它允许你恢复以前旧版本的数据,或者检查数据变化的历史。因此,很多人把版本控制系统看成某种“时光机”。
Subversion允许通过网络访问它的资料库,因而可以被位于不同计算机前的人们同时使用。在某种程度上,允许人们从自己的地方修改和管理同一组数据有助于促进相互间的合作。由于不再受任何修改都必须通过单一渠道来进行的限制,改进可以更快的实施。而且因为工作被本化了,你不必担心取消限制会导致工作质量下降。如果对数据作了不正确的改动,只要撤销就行了。
一些版本控制系统也是软件配置管理(SCM)系统。这些系统针对管理程序源代码特别定制,有很多专用于软件开发的功能。比如,系统可以理解编程语言或者支持软件构建工具。然而Subversion不是这样的系统。它是一个通用的系统,可以用来管理任何文件集合。对你来说可能是源代码,对别人来说,可能是从购物清单到数字影像的混合,或更多别的文件。