什么是Subversion?Subversion 是一个自由/开源的版本控制系统。也就是说,在Subversion管理下,文件和目录可以超越时空。Subversion将文件存放在中心版本库里。这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况。于是我们就可以籍此将数据回复到以前的版本,并可以查看数据的更改细节。正因为如此,许多人将版本控制系统当作一种神奇的“时间机器”。
Subversion 的版本库可以通过网络访问,从而使用户可以在不同的电脑上进行操作。从某种程度上来说,允许用户在各自的空间里修改和管理同一组数据可以促进团队协作。因为修改不再是单线进行(单线进行也就是必须一个一个进行),开发进度会进展迅速。此外,由于所有的工作都已版本化,也就不必担心由于错误的更改而影响软件质量—如果出现不正确的更改,只要撤销那一次更改操作即可。
某些版本控制系统本身也是软件配置管理(SCM)系统,这种系统经过精巧的设计,专门用来管理源代码树,并且具备许多与软件开发有关的特性—比如,对编程语言的支持,或者提供程序构建工具。不过Subversion并不是这样的系统。它是一个通用系统,可以管理任何类型的文件集。对你来说,这些文件这可能是源程序—而对别人,则可能是一个货物清单或者是数字电影。
下载官方下载:

  • 服务器和程序下载 : http://subversion.tigris.org/getting.html#binary-packages
  • Windows常用客户端TortoiseSVN:http://tortoisesvn.net/downloads
  • AnkhSVN(Visual Studio插件):http://ankhsvn.open.collab.net/
  • Subclipse(Eclipse插件):http://subclipse.tigris.org/
  • SCPlugin(Mac OS x客户端):http://scplugin.tigris.org/

更多客户端和工具可以看下表或者到官方网站察看:http://subversion.tigris.org/links.html#clients 相关软件客户端与插件

  • Aigenta Unified SCC - Subversion/CVS add-in for MSSCCI-compatible programs, including Microsoft Visual Studio and other programs
    http://aigenta.com/products/UnifiedScc.aspx
  • AnkhSVN - A Subversion addin for Microsoft Visual Studio .NET
    http://ankhsvn.tigris.org/
  • CW Subversion - A VCS plugin for Metrowerks CodeWarrior
    http://www.soundgeek.org/software/SubversionPlugin/
  • Eric - Python IDE with Subversion integration; written in PyQt, uses QScintilla editor widget
    http://www.die-offenbachs.de/detlev/eric.html
  • eSvn - cross-platform QT-based GUI frontend to Subversion
    http://esvn.umputun.com/
  • FSVS - fast subversion command-line client centered around software deployment
    http://fsvs.tigris.org/
  • JDeveloper - Oracle's free integrated development environment with end-to-end support for modeling, developing, debugging, optimizing, and deploying Java applications and Web services, now with a Subversion plugin.
    (Note that this is not an Open Source project.)
    http://www.oracle.com/technology/products/jdev/
  • KDESvn - A Subversion client for KDE
    http://www.alwins-world.de/wiki/programs/kdesvn
  • KSvn - A Subversion client for KDE -- a plugin for Konqueror
    http://apps.intra-links.com/
  • Netbeans - Sun's open source Java integrated development environment. Includes a Subversion integration module.
    http://subversion.netbeans.org/
  • psvn.el - A Subversion interface for emacs
    http://xsteve.nit.at/prg/vc_svn/
  • QSvn - A cross-platform GUI Subversion client
    http://ar.oszine.de/projects/qsvn/
  • RapidSVN - A cross-platform GUI front-end for Subversion
    http://rapidsvn.tigris.org/
  • RSVN - Python script which allows multiple repository-side operations in a single, atomic transaction.
    https://opensvn.csie.org/traccgi/rsvn/trac.cgi/wiki
  • SmartSVN - A cross-platform GUI client for Subversion
    (Not open source. Available in a free and a commercial version.)
    http://www.syntevo.com/smartsvn/
  • SCPlugin - Subversion integration for Mac OS X Finder
    http://scplugin.tigris.org/
  • Subclipse - A Subversion Eclipse Plugin
    http://subclipse.tigris.org/
  • Subcommander - A cross-platform Subversion GUI client including a visual text merge tool.
    http://subcommander.tigris.org/
  • Subversive - A Subversion Eclipse Plugin
    http://www.polarion.org/index.php?page=overview&project=subversive
  • SvnX - A Mac OS X Panther GUI client.
    http://www.lachoseinteractive.net/en/community/subversion/svnx/
  • SVN SCC Proxy - A SCC add-in for SVN
    (Note that this is not an Open Source project.)
    http://www.pushok.com/soft_svn.php
  • TortoiseSVN - A Subversion client, implemented as a windows shell extension
    http://tortoisesvn.tigris.org/
  • Vcscommand.vim - CVS/SVN/SVK integration plugin for the vim editor
    http://www.vim.org/scripts/script.php?script_id=90
  • VisualSVN - Subversion integration for Visual Studio .NET 2003 & 2005
    (This is a commercial closed-source product.)
    http://www.visualsvn.com
  • WLW-SVN - WebLogic Workshop (8.1.3/8.1.4) Extension for Subversion
    https://wlw-svn.projects.dev2dev.bea.com/
  • WorkBench - Cross platform software development GUI built on Subversion written in Python
    http://pysvn.tigris.org/
  • ZigVersion - a Subversion Interface for Mac OS X. Aims to design an interface around the typical workflows of programmers.
    (Note that this is not open source.)
    http://zigversion.com/

浏览工具

  • SVN::Web
    http://search.cpan.org/~nikc/SVN-Web/lib/SVN/Web.pm
  • ViewVC (formerly known as ViewCVS)
    http://www.viewvc.org/
  • WebSVN
    http://websvn.tigris.org/
  • Insurrection - Web Access to Subversion
    http://insurrection.tigris.org/
    Repository at http://svn.sinz.com/svn/Insurrection/
  • Chora
    http://www.horde.org/chora/
  • SVN::RaWeb::Light
    http://web-cpan.berlios.de/modules/SVN-RaWeb-Light/
  • FlexySvn
    http://www.akbkhome.com/blog.php/View/90/FlexySvn.html
  • perl_svn
    http://www.osdevel.org/projects/show/16?lang=en
  • mod_svn_view
    http://www.outoforder.cc/projects/apache/mod_svn_view/
  • bsSvnBrowser
    https://bssvnbrowser.bountysource.com/docs/install
  • sventon - Java web application for browsing Subversion repositories
    http://www.sventon.org/
  • WebClient for SVN - A web interface for Subversion repositories. Offers browsing and simple write operations.
    http://www.polarion.org/index.php?page=overview&project=svnwebclient
  • See also: Trac and Collaboa in the Higher-level tools section above, which include repository browsing along with other functionality.

高级工具

  • Trac - Trac is a minimalistic web-based software project management and bug/issue tracking system. It provides an interface to revision control systems (Subversion), an integrated Wiki and convenient report facilities.
    http://trac.edgewall.org/
  • Subissue - Track issues directly in your Subversion repository [in planning stage]
    http://subissue.tigris.org/
  • Subwiki
    http://subwiki.tigris.org/
  • SharpForge - SharpForge is an open source, c#, asp net 2.0, project management web application.
    http://sharpforge.org
  • svk - a decentralized version control system based on subversion
    http://svk.elixus.org/
  • submaster - SubMaster is a system for distributed software development, based on Subversion.
    http://www.rocklinux.org/wiki/SubMaster
  • Codestriker - a free, open-sourced, collaborative code reviewing system; allows teams of developers using Subversion (or other SCMs) to create and manage code review topics.
    http://codestriker.sourceforge.net/
  • Scmbug - integrates software configuration management with bug-tracking. It aims to be a universal tool that glues version control systems to bug-tracking systems.
    http://freshmeat.net/projects/scmbug/
  • BugTracker.NET - a free, open source, web-based issue tracker for .NET.
    http://ifdefined.com/bugtrackernet.html
  • Collaboa - Repository browser and issue tracker, similar to Trac.
    http://collaboa.org
  • DITrack - Lightweight distributed issue tracking system using Subversion repository instead of a backend database.
    http://www.ditrack.org
  • FastTrack - FastTrack is a zero administration tool providing project work planning and tracking integrated into Eclipse. All the tracker data are stored in and shared through Subversion.
    (Not open source, but free of charge.)
    http://www.polarion.org/index.php?page=overview&project=fasttrack
  • USVN - A web interface to manage Subversion repositories, providing an easy way to apply access rights on files in the repository.
    http://www.usvn.info/

实例研究Martin Fowler使用SVN 一两年前,我工作生涯的一个重要方面发生了变化,那之前我一直只在一台电脑上工作(更确切地说是只用一块硬盘),所有工作文件都保存在我的笔记本硬盘里。如果我要用另外一台桌面电脑,就通过文件共享操纵那些文件。
自从去年我买了PowerBook事情就变了,现在我经常转战于三台机器:Mac PowerBook、Windows笔记本、Ubuntu桌面。
这就意味着我得保持多台机器上的东西都是最新的——至少我的工作文件都要保持最新。有了多台桌面电脑,我主要的email服务从POP转到了IMAP,这给我带来巨大的便利——尽管它有时“打打隔”,但我敢说IMAP在我的多台机器上跑得很好(我用Thunderbird做客户端)。
我大部分工作文件都被Subversion管理起来了,每当切换机器时我就提交(commit)工作目录,再到新机器上更新(update)。一切都同步得好好的,还全面享受了版本管理服务。
不过,也有一些东西同步起来没我想要的那么方便。地址簿就很难直接同步,Thunderbird总固执地把它们放到一个特定的地方, Subversion检查不到。更倒霉的是地址簿是二进制文件,难以合并(merge),这很烦人,但Thunderbird用文本文件来处理 email,这一点儿挺招人喜欢的,当IMAP打嗝时我也不难处理。另外,与PDA同步也很难缠,最后我还是找到个不赖的办法把所有联系人和日程表信息在三台机器上都同步好了。再者就是news聚合工具,它们之间可以通过OPML共享feeds(至少理论上如此),但不能记录下哪些我读过了哪些还没读。
文件尽量采用文本格式,这样做好处很多。我所有写作都是用XML,要同步写的东西只需要一个文本编辑器。但图表就成问题了,我还没找到一个在所有平台上都能用的东西,不过,搭起多台桌面的一个好处是所有专用于一个系统的软件我也能用了。

转载于:https://www.cnblogs.com/satng/archive/2008/12/12/2138970.html

什么是Subversion?相关推荐

  1. Jenkins配置MSBuild实现自动部署(MSBuild+SVN/Subversion+FTP+BAT)

    所要用到的主要插件: [MSBuild Plugin] 具体操作: 1.配置MSBuild的版本 [系统管理]->[Global Tool Configuration]->[MSBuild ...

  2. centos下安装apache + subversion(转)

    目录: 一.安装apr跟apr-util 二.安装apache服务器 三. 安装subversion 四. 配置subversion 五. 配置apache的httpd.conf 六. 验证安装 七. ...

  3. 35.2. Subversion 版本控制

    subversion 初始化 trunk branches releases tags svn co svn://127.0.0.1/document cd project mkdir trunk m ...

  4. Subversion hooks脚本配置演示及排错

    Subversion提供了强大的hooks脚本功能,主要用于控制commit操作前,后的执行动作,以及lock,unlock操作前,后的执行动作:默认在版本仓库下的hooks目录下存在着这些脚本的模板 ...

  5. SubVersion(SVN) 服务器Windows安装指南

    为什么80%的码农都做不了架构师?>>>    SubVersion及TortoiseSVN下载请到其官方网站: http://subversion.tigris.org   注:如 ...

  6. 捣鼓 Subversion

    开始捣鼓Subversion了,准备明天将它用于项目的版本控制.   SVN真是个复杂的东西,我又没用过CVS的经验,单单是安装和访问就搞了好长时间.   现在把过程记下来,首先呢,让后来者少走弯路. ...

  7. SubVersion和Subclipse的简单使用方法

    SubVersion和Subclipse的简单使用方法 1.下载SubVersion 下载地址为:http://subversion.tigris.org/ 2.安装SubVersion 一路Next ...

  8. Subversion权限详解

    1   背景假设 厦门央瞬公司是一家电子元器件设备供应商,其中有个ARM部门,专门负责ARM芯片的方案设计.销售,并在北京.上海各设立了一个办事处.对于工作日志,原先采用邮件方式发给经理,但是这种方式 ...

  9. 在项目管理工具Redmine中使用SubVersion进行版本管理(转)

    SVN的安装比较简单,从官网上下载windows下的安装包,一路安装就可以了, 下载地址在这里:http://subversion.tigris.org/servlets/ProjectDocumen ...

  10. SVN版本管理系统的安装 CentOS + Subversion + Apache + Jsvnadmin

    CI服务器:192.168.4.221 root用户操作 建议安装前更新操作系统 yum update 更新完成后重启 reboot 安装apache yum install httpd httpd- ...

最新文章

  1. 音频(3):iPod Library Access Programming Guide:Introduction
  2. Domino URL Command 详解
  3. 缺少nst linux.mbr文件,用EasyBCD2.0在Windows环境下引导Linux启动
  4. C++ 名字重载、隐藏、覆盖
  5. 2020牛客暑期多校训练营(第六场)H.Harmony Pairs 数位dp
  6. ubuntu java8 java9_在Ubuntu/Debian系统上安装Java 9的方法
  7. Linux 关闭网络管理服务
  8. 【Elasticsearch】Elasticsearch如何实现 SQL语句中 Group By 和 Limit 的功能
  9. 跟驰理论 matlab,[自然科学]第4章 跟驰理论.ppt
  10. 他说,编程的黄金时代已到
  11. 进入Vmware虚机的BIOS
  12. 关于如何查找和利用PCL库学习资源的一些心得
  13. 【Usaco2008 Mar】土地购买
  14. frameworks/base/core/res/res/values/symbols.xml:3915: error: no definition for declared symbol解决办法
  15. 如何使用JQueryUI插件库
  16. Linux系统下SVN服务器的搭建过程详解 UpJ}s7+
  17. HP-UX 基本命令学习
  18. 790. 数的三次方根
  19. Hello Goodbye
  20. android硬盘加密软件,Whisper Systems创始人:将推Android硬盘加密工具

热门文章

  1. 火星探测器纷纷上天,人类离移民火星还远吗?
  2. css和php区别,「php」css与html的区别是什么?css与html区别比照
  3. jQuery之从零开始的学习(完整整理)
  4. 自定义实现一个RPC框架(三)
  5. 流媒体开发中H264编码NALU结构介绍与I帧判断方法
  6. PostgreSql 分区表
  7. Couldn‘t find ffmpeg or avconv - defaulting to ffmpeg, but may not work快速解决办法
  8. ios使用SARUnArchiveANY 解压rar文件(oc和swift版本)
  9. 对抗中的主动防御 —— HW及小规模网络对抗的战术
  10. 豌豆花开花蕊红太平军哥哥一去无影踪