什么是Subversion?Subversion 是一个自由/开源的版本控制系统。也就是说,在Subversion管理下,文件和目录可以超越时空。Subversion将文件存放在中心版本库里。这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况。于是我们就可以籍此将数据回复到以前的版本,并可以查看数据的更改细节。正因为如此,许多人将版本控制系统当作一种神奇的“时间机器”。
Subversion 的版本库可以通过网络访问,从而使用户可以在不同的电脑上进行操作。从某种程度上来说,允许用户在各自的空间里修改和管理同一组数据可以促进团队协作。因为修改不再是单线进行(单线进行也就是必须一个一个进行),开发进度会进展迅速。此外,由于所有的工作都已版本化,也就不必担心由于错误的更改而影响软件质量—如果出现不正确的更改,只要撤销那一次更改操作即可。
某些版本控制系统本身也是软件配置管理(SCM)系统,这种系统经过精巧的设计,专门用来管理源代码树,并且具备许多与软件开发有关的特性—比如,对编程语言的支持,或者提供程序构建工具。不过Subversion并不是这样的系统。它是一个通用系统,可以管理任何类型的文件集。对你来说,这些文件这可能是源程序—而对别人,则可能是一个货物清单或者是数字电影。
下载官方下载:
相关软件客户端与插件
自从去年我买了PowerBook事情就变了,现在我经常转战于三台机器:Mac PowerBook、Windows笔记本、Ubuntu桌面。
这就意味着我得保持多台机器上的东西都是最新的——至少我的工作文件都要保持最新。有了多台桌面电脑,我主要的email服务从POP转到了IMAP,这给我带来巨大的便利——尽管它有时“打打隔”,但我敢说IMAP在我的多台机器上跑得很好(我用Thunderbird做客户端)。
我大部分工作文件都被Subversion管理起来了,每当切换机器时我就提交(commit)工作目录,再到新机器上更新(update)。一切都同步得好好的,还全面享受了版本管理服务。
不过,也有一些东西同步起来没我想要的那么方便。地址簿就很难直接同步,Thunderbird总固执地把它们放到一个特定的地方, Subversion检查不到。更倒霉的是地址簿是二进制文件,难以合并(merge),这很烦人,但Thunderbird用文本文件来处理 email,这一点儿挺招人喜欢的,当IMAP打嗝时我也不难处理。另外,与PDA同步也很难缠,最后我还是找到个不赖的办法把所有联系人和日程表信息在三台机器上都同步好了。再者就是news聚合工具,它们之间可以通过OPML共享feeds(至少理论上如此),但不能记录下哪些我读过了哪些还没读。
文件尽量采用文本格式,这样做好处很多。我所有写作都是用XML,要同步写的东西只需要一个文本编辑器。但图表就成问题了,我还没找到一个在所有平台上都能用的东西,不过,搭起多台桌面的一个好处是所有专用于一个系统的软件我也能用了。
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/
Aigenta Unified SCC - Subversion/CVS add-in for MSSCCI-compatible programs, including Microsoft Visual Studio and other programs
http://aigenta.com/products/UnifiedScc.aspxAnkhSVN - 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.htmleSvn - 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/kdesvnKSvn - 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/wikiSmartSVN - 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=subversiveSvnX - 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.phpTortoiseSVN - 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=90VisualSVN - Subversion integration for Visual Studio .NET 2003 & 2005
(This is a commercial closed-source product. )
http://www.visualsvn.comWLW-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.pmViewVC (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.htmlperl_svn
http://www.osdevel.org/projects/show/16?lang=enmod_svn_view
http://www.outoforder.cc/projects/apache/mod_svn_view/bsSvnBrowser
https://bssvnbrowser.bountysource.com/docs/installsventon - 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.orgsvk - 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/SubMasterCodestriker - 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.htmlCollaboa - Repository browser and issue tracker, similar to Trac.
http://collaboa.orgDITrack - Lightweight distributed issue tracking system using Subversion repository instead of a backend database.
http://www.ditrack.orgFastTrack - 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=fasttrackUSVN - A web interface to manage Subversion repositories, providing an easy way to apply access rights on files in the repository.
http://www.usvn.info/
自从去年我买了PowerBook事情就变了,现在我经常转战于三台机器:Mac PowerBook、Windows笔记本、Ubuntu桌面。
这就意味着我得保持多台机器上的东西都是最新的——至少我的工作文件都要保持最新。有了多台桌面电脑,我主要的email服务从POP转到了IMAP,这给我带来巨大的便利——尽管它有时“打打隔”,但我敢说IMAP在我的多台机器上跑得很好(我用Thunderbird做客户端)。
我大部分工作文件都被Subversion管理起来了,每当切换机器时我就提交(commit)工作目录,再到新机器上更新(update)。一切都同步得好好的,还全面享受了版本管理服务。
不过,也有一些东西同步起来没我想要的那么方便。地址簿就很难直接同步,Thunderbird总固执地把它们放到一个特定的地方, Subversion检查不到。更倒霉的是地址簿是二进制文件,难以合并(merge),这很烦人,但Thunderbird用文本文件来处理 email,这一点儿挺招人喜欢的,当IMAP打嗝时我也不难处理。另外,与PDA同步也很难缠,最后我还是找到个不赖的办法把所有联系人和日程表信息在三台机器上都同步好了。再者就是news聚合工具,它们之间可以通过OPML共享feeds(至少理论上如此),但不能记录下哪些我读过了哪些还没读。
文件尽量采用文本格式,这样做好处很多。我所有写作都是用XML,要同步写的东西只需要一个文本编辑器。但图表就成问题了,我还没找到一个在所有平台上都能用的东西,不过,搭起多台桌面的一个好处是所有专用于一个系统的软件我也能用了。