代码改变世界

Subversion版本控制系统(一)

2011-04-09 17:53  jaywoo  阅读(470)  评论(0编辑  收藏  举报
Subversion是什么?

      Subversion是一个自由/开源的版本控制系统。也就是说,在Subversion管理下,文件和目录可以超越时空。也就是Subversion允许你数据恢复到早期版本,或者是检查数据修改的历史。正因为如此,许多人将版本控制系统当作一种神奇的“时间机器”。

      Subversion的版本库可以通过网络访问,从而使用户可以在不同的电脑上进行操作。从某种程度上来说,允许用户在各自的空间里修改和管理同一组数据可以促进团队协作。因为修改不再是单线进行,开发速度会更快。此外,由于所有的工作都已版本化,也就不必担心由于错误的更改而影响软件质量—如果出现不正确的更改,只要撤销那一次更改操作即可。                          

      某些版本控制系统本身也是软件配置管理(SCM)系统,这种系统经过精巧的设计,专门用来管理源代码树,并且具备许多与软件开发有关的特性—比如,对编程语言的支持,或者提供程序构建工具。不过Subversion并不是这样的系统。它是一个通用系统,可以管理任何类型的文件集。对你来说,这些文件这可能是源程序—而对别人,则可能是一个货物清单或者是数字电影。

  Subversion是服务器端(subversion代表的是代码版本管理的一种标准,没有严格区分其到底是服务器还是客户端,同样提供二者的功能。我这里理解为服务器端吧

  •    Subversion支持linux和windows,更多是安装在linux下。  
  •  svn服务器有2种运行方式:独立服务器和借助apache。2种方式各有利弊。  
  •  svn存储版本数据也有2种方式:BDB和FSFS。因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式更安全一点。

     想了解更多请阅读:Subversion 与版本控制书籍 这http://svnbook.red-bean.com/里提供各版本的在线版和PDF版。

     这里提供Subversion1.6中文版的(https://files.cnblogs.com/jaywoo/svnbook-1.6-zh-r3600.pdf)

     服务器端主要以CollabNetvisualsvn为代表的Subversion服务器视觉软件 Apache的Subversion项目提供许多系统套件(http://subversion.apache.org/packages.html )    CollabNet,visualsvn等都可以在这里下载 。

 Subversion的客户端

     Subversion的客户端有两类,一类是websvn等基于web的,另一类是以TortoiseSVN(下载地址:http://tortoisesvn.net/downloads.html 有软件、语言包和PDF应用手册),AnkhSvn(下载地址:http://ankhsvn.open.collab.net/downloads(这两个软件的应用以后文章会详细介绍)为代表的客户端软件。前者需要web服务器的支持,后者需要用户在本地安装客户端,两种都有免费开源软件供使用。