subversion

发布时间 : 星期四 文章subversion更新完毕开始阅读

Subversion 介绍

版本控制是透过文档控制(documentation control)记录各个模块的改动,并为每次改动编上序号。简单来说,版本控制就是数据仓库,它可以记录你对文件的每次改动。

1.1 Subversion简介

Subversion是一个自由/开源版本控制系统,它管理文件和目录可以超越时间。一组文件存放在中心版本库,这个版本库很像一个普通的文件服务器,只是它可以记录每一次文件和目录的修改,这便使你可以获得数据以前的版本,从而可以检查所作的更改。从这个方面看,许多人把版本控制当做一种“时间机器”。

Subversion可以通过网络访问它的版本库,从而使用户可以在不同的电脑上使用。一定程度可以说,允许用户在各自的地方修改同一份数据是促进协作,进展可能非常的迅速,并没有一个所有的改变都会去的小高的通道,由于所有的工作都有历史版本,你不必担心由于失去某个通道而影响质量,若果存在不正确的改变,只要取消改变。 Subversion是一个通用系统,可以管理任何类型的文件集,对你可能是源代码,对别人,可能是一个货物报价单或是书稿等。

Subversion的核心就是repository,中文翻译成“版本库”。就是位于服务器端,统一管理和存储数据的地方。

1.2 Subversion历史

在开源软件世界,并行版本系统(CVS)一直是版本控制长久以来的唯一选择。CVS本身是自由软件,不佳限制的处事风格,对网络化操作的支持(众多衬出不同地方的程序员可以共享他们的工作)。

早在2000年,CollaNet,Inc.就开始寻找CVS替代产品的开发人员。CollabNet提供了一个名为CollabNet企业版(CEE)的协作软件套件。这个软件套件的一个组成部分就是版本控制系统。尽管CEE在最初采用了CVS作为其版本控制系统,但是CVS的局限性从一开始就很明显。这就需要寻找一个更好的替代品,但遗憾的是,CVS之所以成为开源世界事实上的标准,很大程度上是没有更好的替代品,至少是没有可以自由使用的替代品。所以CollabNet决定从头编写一个新的版本控制系统,这个系统保留CVS的基本思想,但是要修正其中的错误和不合理的特性。

Subversion正是以CVS继任者的角色出现的新型版本控制系统。Subversion的设计者们力图通过两方面努力赢得CVS用户的青睐:保持构建开源软件版本控制系统的房(以及视觉和感觉上)与CVS尽可能类似,同时尽力弥补CVS许多显著的缺陷。这些努力的结果使得从CVS迁移到Subversion不需要做重大的变革。

Subversion像其他许多开源项目一样,被松散的、透明的规则管理着,CollabNet的版权许可正完全符合Debian的自由软件方针,也就是说,任何人都可以根据自己的医院自由的下载、修改和重新发布Subversion,不需要CollabNet或其他人的授权。

1.3Subversion的特性

Subversion实现的“虚拟”版本化文件系统可以跟踪目录树的变更。在

Subversion中,文件和目录都是版本化的。另外,Subversion也支持对文件的拷贝、更改名字,并嫩对文件或是目录进行增加、拷贝和更改名操作,也解决了同

名而无关的文件之间的历史联系问题。

Subversion具有以下几个特性: 原子提交:一系列相关的更改,要么全部提交到版本库,要么一个也不提交。 版本化的元数据:每个文件和目录都有自己的一组属性(键和他们的值)。 可选的网络层:Subversion在版本库访问的实现上具有较高的抽象程度,利于人们视线心的网络访问机制。Subversion可以作为一个扩展模块嵌入到Apache之中。此外,Subversion自身也实现了一个轻型的,可以独立运行的服务器软件。这个服务器使用了一个特定的协议,这个协议可以轻松的用SSH封装。

一直的数据操作:Subversion用一个二进制差异算法描述文件的变化,对于文本(可读)和二进制(不可读)文件其操作方式是一直的。

高效的分支和标签 :在Subversion中,分支与标签操作的开销与工程的大小无关,Subversion的分支和标签作用只是一种类似于硬件链接的机制拷贝整个工程。因此这些操作通常只会话费很少且相对固定的时间。

可修改性:Subversion没有历史负担,它以一些列优质的共享C程序库的范式实现,具有定义良好的API,这使得Subversion非常容易维护,和其他语言的互操作性很强。 1.5 Subversion安装

Subversion建立在一个可移植层上,叫做APR(Apache Portable Runtime Library),APR库提供了许多Subversion在多找你个操作系统上需要的功能:磁盘访问、内存管理等等。虽然Subversion可以使用Apache作为服务器程序,这种对APR的依赖并不意味着Apache是必须的组件,APR是可以独立使用的库。这意味着Subversion可以再所有可运行Apache服务器的平台上工作:Windows、Linux、各种BSD、Mac OS、Netware以及其他。 1.SVN客户端安装 在安装SVN前,通常要先安装一个客户端软件,这里使用的是TortoiseSVN作为SVN的客户端。

在 http://sourceforge.net/projects/tortoisesvn/files/ 中下载TortoiseSVN-1.6.7.18415-win32-svn-1.4.5.msi(既SVN客户端) 完成后安装:

出现以上界面,安装的路径最好不要不选在C盘(我默认是选择在D盘中)

安装结束后会提示是否重启(可以不用重启) 2.SVN服务器安装

(1)双击Setup-Subversion-1.6.5.msi,开始安装SVN的服务器端

这里安装的位置为D盘的svn文件里

然后安装完毕点击Finish就可以了。 1.6 Subversion的组件 svn 命令行客户端

联系合同范文客服:xxxxx#qq.com(#替换为@)