subversion(简称
svn)是近年来崛起的版本管理软件,是
cvs的接班人。目前,绝大多数开源软件都使用svn作为代码版本管理软件。
与CVS对比
在SVN之前,CVS是使用最广泛的版本管理软件。SVN与CVS对比的优点如下:
* 统一的版本号。CVS是对每个文件顺序编排版本号,在某一时间各文件的版本号各不相同。而Subversion下,任何一次提交都会对所有文件增加到同一个新版本号,即使是提交并不涉及的文件。所以,各文件在某任意时间的版本号是相同的。版本号相同的文件构成软件的一个版本。
* 原子提交。一次提交不管是单个还是多个文件,都是作为一个整体提交的。在这当中发生的意外例如传输中断,不会引起数据库的不完整和数据损坏。
* 重命名、复制、删除文件等动作都保存在版本历史记录当中。
* 对于二进制文件,使用了节省空间的保存方法。(简单的理解,就是只保存和上一版本不同之处)
* 目录也有版本历史。整个目录树可以被移动或者复制,操作很简单,而且能够保留全部版本记录。
* 分支的开销非常小。
* 优化过的数据库访问,使得一些操作不必访问数据库就可以做到。这样减少了很多不必要的和数据库主机之间的网络流量。
使用情况
虽然在 2006年 时 Subversion 的使用族群仍然远少于传统的 CVS,但已经有许多开放原码团体决定将 CVS 转换为 Subversion。已经转换使用 Subversion 的包括了
FreeBSD、Apache Software Foundation、
KDE、
GNOME、
GCC、
Python、
Samba、
Mono 以及许多团体。
许多开发团队换用 Subversion 是因为 Trac、SourceForge、CollabNet、CodeBeamer等专案协同作业软件以及
Eclipse、
NetBeans等IDE提供 Subversion的支援整合。 除此之外,一些自由软件开发的协作网如
SourceForge.net除了提供 CVS 外,现在也提供专案开发者使用 Subversion 作为原码管理系统, JavaForge、
Google Code以及 BountySource 则以 Subversion 作为官方的原码管理系统。
2009年,绝大多数CVS服务已经改用SVN。CVS已经停止维护。
客户端
Subversion的客户端有两类,一类是websvn等基于web的,一种是以
TortoiseSVN为代表的客户端软件。前者需要web服务器的支持,后者需要用户在本地安装客户端,两种都有免费
开源软件供使用。
服务器
Subversion支持
linux和
windows,更多是安装在linux下。
svn服务器有2种运行方式:独立服务器和借助
apache。2种方式各有利弊。
svn存储版本数据也有2种方式:
BDB和FSFS。因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式更安全一点。
分享到:
相关推荐
提交完成后,我们可以利用SVN的版本控制将项目中的历史版本进行相互的对比,以查看工程文件的差异。 版本控制在PCB设计中的应用可以提高开发效率,减少开发时间和成本,提供一个健壮的合作开发环境。
### 利用SVN进行版本控制的详细指南 在现代软件开发过程中,版本控制系统是不可或缺的工具之一,它能够帮助团队高效地管理代码变更、追踪修改历史以及协同工作。Subversion(简称SVN)作为一款成熟且广泛使用的版本...
** SVN中文手册 - 版本控制系统详解 ** SVN(Subversion)是一种广泛使用的开源版本控制系统,用于管理软件项目的源代码和其他文件。它允许开发者在项目开发过程中跟踪和记录文件的更改,支持多人协作,避免冲突,...
WINDOWS 批处理文件,能有效解除SVN版本控制,去掉对有SVN标志文件夹的操作限制。使用时把它放在你要解除SVN控制的文件夹下面,点击运行一下即可
通过以上步骤,我们可以有效地利用SVN对PowerBuilder项目进行版本控制,这对于团队协作开发非常重要。不仅可以跟踪每次更改的历史记录,还能有效防止因对象重名等问题而导致的代码混乱。希望本文能帮助读者顺利地...
** SVN(Subversion)版本控制系统详解 ** SVN,全称Subversion,是一种广泛使用的集中式版本控制系统,它能够管理项目中的源代码、文档等文件的版本,使得多个开发者可以协同工作并跟踪每一次修改,有效地避免了...
利用svnsync同步SVN版本库,将之前主库上的SVN数据迁移到VisualSVN上,然后在实现版本库的远程自动备份,版本库备份到另一台机器上。
通过深入了解SVN的基本概念、核心功能以及实用操作指南,编程爱好者和开发者可以更高效地利用版本控制系统,提高团队协作效率和项目管理水平。无论是个人项目还是大型团队合作,SVN都是一个强大而可靠的工具,值得每...
SVN版本控制原理SVN版本控制原SVN版本控制SVN版本控制原理原理理SVN版本控制原理
svn版本控制工具 windows版本 安装版
- 保存空间:.SVN目录包含了与版本控制相关的元数据,可能会占用一定磁盘空间,如果想释放这部分空间,可以考虑删除。 - 私密信息:在共享文件或发布代码时,.SVN目录可能包含敏感信息,如提交者身份,不应公开。 ...
这篇博客文章“SVN版本控制使用心得”可能会探讨如何有效地利用SVN来优化软件开发流程。 在SVN中,主要有以下几个核心概念: 1. **仓库(Repository)**:这是存储所有项目文件的地方,是版本控制的核心。每个版本...
在IT行业中,版本控制系统是团队协作开发的重要工具之一,Subversion(简称SVN)就是其中广泛应用的一款。"清除项目SVN版本控制.zip"这个压缩包显然提供了帮助开发者或团队解除项目中SVN版本控制的解决方案。以下是...
版本控制(Revision control)是一种软体工程技巧,籍以在开发的过程中, 确保由不同人所编辑的同一档案都得到更新。 版本控制透过文档控制(documentation control)记录程序各个模组的改 动,并为每次改动编上序号。...
ubuntu 版本控制器svn搭建,确认可以使用
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。也是就是CVS的接班人!
### SVN版本控制工具详解 **一、SVN概述** Subversion,简称SVN,是一种集中式的版本控制系统,自2000年初由CollabNet发起并由Karl Fogel和Jim Blandy等人共同设计,旨在克服CVS的缺陷,提供更强大的版本控制功能...
通过对SVN的基本概念、工作原理及功能特点的深入了解,中小型研发团队可以更好地利用SVN进行软件版本控制,提高工作效率,减少出错几率。在未来的发展中,SVN将继续发挥其重要作用,支持软件行业的持续进步。
【SVN 版本控制操作手册】 版本控制是软件开发中的一项关键技术,它允许团队成员协同工作,同时保持代码的历史记录。Subversion(SVN)是一种流行的开源版本控制系统,用于管理文件和目录的变更。本文将指导你如何...
svn和myeclispe链接的版本控制svn和myeclispe链接的版本控制svn和myeclispe链接的版本控制svn和myeclispe链接的版本控制svn和myeclispe链接的版本控制svn和myeclispe链接的版本控制svn和myeclispe链接的版本控制