Subversion是一个自由/开源的,专门针对CVS的不足而开发的版本控制系统。Subversion是版本管理的后台系统,其核心是保存数据的档案库-repository。档案库用分层的“文件-目录”文件系统数来存储数据。连接到档案库的客户能读写数据。档案库记录了用户的每一次修改!客户端可以从档案库中提取到过去的版本。Subversion的版本库可以通过网络访问,从而使用户可以在不同的电脑上进行操作,从某种程度上来说,允许用户在各自的空间里修改和管理同一组数据可以促进团队协作。因为修改不再是单线进行,开发进度会进展迅速。此外,由于所有的工作都已版本化,也就不必担心由于错误的更改而影响软件质量—如果出现不正确的更改,只要撤销那一次更改操作即可。
TortoiseSVN 是 Subversion 版本控制客户端,可以超越时间的管理文件和目录。文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件服务器。你可以将文件恢复到过去的版本,并且可以通过检查历史知道数据做了哪些修改,谁做的修改。
SVN简介(what,why,when)What:英文全称(subversion),一种版本控制系统。什么是版本控制系统?有哪些版本控制系统(vss,cvs)?why:支持重命名,跨平台,原子性提交,全局的版本号,高效地创建基线…when:当需要对代码和文档进行版本控制的时候。
SVN = 版本控制 + 备份服务器 简单的说,您可以把SVN当成您的备份服务器,更好的是,他可以帮您记住每次上传到这个服务器的档案内容。并且自动的赋予每次的变更一个版本。 通常,我们称用来存放上传档案的地方就做Repository。用中文来说,有点像是档案仓库的意思。不过,通常我们还是使用Repository这个名词。基本上,第一次我们需要有一个新增(add)档案的动作,将想要备份的档案放到Repository上面。日后,当您有任何修改时,都可以上传到Repository上面,上传已经存在且修改过的档案就叫做commit,也就是提交修改给SVN server的意思。针对每次的commit,SVN server都会赋予他一个新的版本。同时,也会把每次上传的时间记录下来。日后,因为某些因素,如果您需要从Repository下载曾经提交的档案。您可以直接选择取得最新的版本,也可以取得任何一个之前的版本。如果忘记了版本,还是可以靠记忆尝试取得某个日期的版本。
TortoiseSVN是Subversion版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录。文件保存在中央的Repository,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件服务器。你可以将文件恢复到过去的版本,并且可以通过检查历史 知道数据做了哪些修改,谁做的修改。这就是为什么许多人将Subversion和版本控制系统 看作一种“时间机器”。
在开源软件领域,并行版本系统(CVS)一直是版本控制的选择。恰如其分的是,CVS本身是一个自由软件,它的非限制性的技法和对网络操作的支持—允许大量的不同地域分散的程序员可以共享他们工作的特性—非常符合开源软件领域合作的精神,CVS和它半混乱状态的开发模型成为了开源文化的基石。<br> 但是像许多其他工具一样,CVS开始显露出衰老的迹象。Subversion是一个被设计成为CVS继任者的新版本控制系统。设计者通过两个办法来争取现有的CVS用户: 使用它构建一个开源软件系统的版本控制过程,从感觉和体验上与CVS类似,同时Subversion努力弥补CVS许多明显的缺陷,结果就是不需要版本控制系统一个大的革新。Subversion是非常强大、有用及灵活的工具。<br> 这本书是为Subversion 1.1 系列撰写的,我们试图涵盖Subversion的所有内容,但是Subversion有一个兴盛和充满活力的开发社区,已经有许多特性和改进计划在新的版本中实现,可能会与目前这本书中的命令与细节不一致。
分支:版本控制系统的一个特性是能够把各种修改分离出来放在开发品的一个分割线上。这条线被称为分支。分支经常被用来试验新的特性,而不会对开发有编译错误的干扰。当新的特性足够稳定之后,开发品的分支就可以混合回主分支里(主干线)。合并:分支用来维护独立的开发支线,在一些阶段,你可能需要将分支上的修改合并到最新版本,或者将最新版本的修改合并到分支。
Subversion在版本库访问方面有一个抽象概念,利于人们去实现新的网络机制,Subversion可以作为一个扩展模块与Apache结合,这给了Subversion在稳定性和交互性方面很大的好处,可以直接使用服务器的特性—认证、授权和传输压缩等等。也有一个轻型的,单独运行的Subversion服务,这个服务使用自己的协议可以轻松的用SSH封装。
Subversion是一个自由/开源版本控制系统,它管理文件和目录可以超越时间。一组文件存放在中心版本库,这个版本库很像一个普通的文件服务器,只是它可以记录每一次文件和目录的修改,这便使你可以取得数据以前的版本,从而可以检查所作的更改。从这个方面看,许多人把版本控制系统当作一种“时间机器”。<br><br> Subversion可以通过网络访问它的版本库,从而使用户可以在不同的电脑上使用。一定程度上可以说,允许用户在各自的地方修改同一份数据是促进协作。进展可能非常的迅速,并没有一个所有的改变都会取得效果的通道,由于所有的工作都有历史版本,你不必担心由于失去某个通道而影响质量,如果存在不正确的改变,只要取消改变。<br><br> 一些版本控制系统也是软件配置管理(SCM)系统,这种系统经过特定的精巧设计来管理源代码,有许多关于软件开发的特性—本身理解编程语言、或者提供构建程序的工具。然而,Subversion不是这样一个系统,它是一个通用系统,可以管理任何类型的文件集,对你这可能是源代码—对别人,可能是一个货物清单或者是数字电影。
SUBVERSION介绍:Subversion(以下简称SVN)是一个自由,开源的版本控制系统。在SVN管理下,文件和目录可以超越时空。SVN将文件存放在中心版本库里。这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况。这样就可以籍此将数据回复到以前的版本,并可以查看数据的更改细节。Subversion(SVN)是新一代的版本控制工具,不仅可以管理程序源码,也可以应用于其他协作管理的工作, TortoiseSVN作为WINDOWS系统的SVN客户端,具备查看文档库、查看当前版本(及版本备注信息)、基于版本导入/导出文档库等功能。
Subversion版本控制系统使用拷贝-修改-合并模型,在这种模型里,每一个客户联系项目版本库建立一个个人工作拷贝—版本库中文件和目录的本地映射。用户并行工作,修改各自的工作拷贝,最终,各个私有的拷贝合并在一起,成为最终的版本,这种系统通常可以辅助合并操作,但是最终要靠人工去确定正误。
SVN全名Subversion,即版本控制系统。SVN与CVS一样,是一个跨平台的软件,支持大多数常见的操作系统。作为一个开源的版本控制系统,Subversion管理着随时间改变的数据。这些数据放置在一个中央资料档案库(repository)中。这个档案库很像一个普通的文件服务器,不过它会记住每一次文件的变动。这样你就可以把档案恢复到旧的版本,或是浏览文件的变动历史。Subversion是一个通用的系统,可用来管理任何类型的文件,其中包括了程序源码。
Svn是一个离线的代码管理,可以多个人一起修改,然后再将修改的内容提交到Svn中。 每一个svn服务器中的数据存储单位叫做存储,但是你不仅仅可以把整个存储当作你维护的内容,也可以将其中的某个分支目录像根存储一样的使用。 Svn 是严格区分大小写的,存储中路径的名字只有大小写不同,也会当作不同的路径处理。注意这里会在windows平台下导致一些非常严重的问题。在 windows下如果svn服务器上同一文件夹有两个只有大小写不同的文件时会出现则会出现总是提示某个文件丢失,而更新到哪个文件也是未知的。如果同一文件夹有只有大小写不同的文件夹会导致总是无法将一个文件夹同步下来。最严重的要数如果存储名称错误,则你没有办法提交数据,因为帐户认证是基于存储的。
实现精细的目录访问权限控制:关键词:Subversion目录访问权限:献辞: 仅以本文,献给中国广大的自由软件爱好者们:摘要: 本文从一个实际的例子入手,介绍了如何利用Subversion自带的目录管理功能,来实现对项目目录的精细访问权限的控制。同时描述了在配置的过程中,需要注意的一些地方,如对中文的处理等。