查看源代码
出自Linux Wiki
对
Subversion
的源代码
根据以下的原因,您无权限进行编辑这个页面操作:
您刚才请求的操作只有这个用户组中的用户才能使用:
用户
您可以查看并复制此页面的源代码:
'''Subversion''',简称'''SVN''',是一个[[版本控制]]系統,和[[RCS]]、[[協作版本系統|CVS]]比较而言,采用了分支管理系統,它的设计目标就是取代[[CVS]]。互联网上越来越多的免费版本控制服务从[[CVS]]转移到Subversion。 ==Subversion的历史== 在2000年初,CollabNet公司开始寻找开发人员写一个CVS的代替品。CollabNet供应一个称作SourceCast的协作软件包,其中一个组件是版本控制。虽然SourceCast使用CVS作为它最初的版本控制系统,但是从一开始CVS的局限就很明显,CollabNet明白必须找到一个更好的系统。可是,CVS之所以已经成为开放源码界的事实标准,很大程度上是因为没有更好的,至少没有更好的而且免费的系统。因此CollabNet决定从头开发一个新的版本控制系统,保留CVS的基本思想,但没有它的错误和局限。 2000年2月,他们联系了Open Source Development with CVS (Coriolis, 1999)的作者Karl Fogel,问他是否愿意为这个新项目工作。巧的是这时Karl已经在和他的朋友Jim Blandy讨论一个新的版本控制系统的设计。在1995年,两人开了一家提供CVS技术支持的公司,叫作Cyclic Software。虽然公司已经卖掉了,他们仍然在日常工作中使用CVS。在使用CVS时受到的束缚已经让Jim开始仔细思考管理版本化数据的更好的路子。他不仅已经起好了名字“Subversion”,而且有了Subvesion资料库的基本设计。当CollabNet打来电话时,Karl立刻同意为这个项目工作。Jim征的得他的老板RedHat Software的同意,让他投入这个项目,而且没有时间限制。CollabNet雇用了Karl和Ben Collins-Sussman,从5月份开始详细设计。由于Greg Stein 和CollabNet的Brian Behlendorf 和Jason Robbins 作了恰当的推动,Subversion很快吸引了一个活跃的开发人员社区。这说明了许多人有相同的受制于CVS的经验,他们对终于有机会对它做点什么表示欢迎。 最初的设计团队设定了几个简单的目标。他们并不想在版本控制方法论上有新突破。他们只想修补CVS。他们决定Subversion应该与CVS相似,保留相同的开发模型,但不复制CVS最明显的缺点。虽然它不一定是CVS的完全的替代品,它应该和CVS足够象,从而任何CVS用户可以不费什么力气的转换过来。 经过14个月的编码,在2001年8月31号,Subversion 可以“自我寄生”了。就是说,Subversion开发人员停止使用CVS管理Subversion的源代码,开始使用Subversion代替。 虽然CollabNet发起了这个项目,而且仍然支助一大部分的工作(它为一些专职的Subversion开发人员发薪水)。但是Subversoin象大部分开放源码的项目一样运作,由一个松散透明,鼓励能者多劳的规则管理。CollabNet的版权许可证和Debian FSG完全兼容。换句话说,任何人可以免费下载,修改,按自己的意愿从新分发Subversion,而不必得到来自CollabNet或其他任何人的许可。 ==基本命令== Subversion指令的基本格式为: '''svn command(or abbr) args''' <div align="center"> {| class="wikitable" |+ Subversion基本命令列表(即上面格式中的command(or abbr)) |- ! width="80" | 指令 !! width="50" | 缩写 !! 说明 !! |- ! checkout !! co !! align="center" | 从版本库签出本地副本 |- ! add !! !! align="center" | 把文件和目录纳入版本控制,通过调度加到版本库。它们会在下一次提交时加入。 |- ! delete !! del,remove,rm !! align="center" | 从版本库中删除文件和目录 |- ! commit !! ci !! align="center" | 把工作副本的修改提交到版本库 |- ! status !! !!align="center" | 查看当前的工作版本中,自己都做了哪些新的改动。M代表修改的文件,?代表新出现的文件(版本库中没有),!代表从版本库中消失的文件 |} </div> {{TODO|完善更多指令}} ==图形化界面== Subversion本身包括了一个命令行工具用于在终端对Subversion进行操作,有许多工具都实现了Subversion的图形化界面,方便开发者进行操作。 目前常见的工具有以下几种: ===RapidSVN=== 跨平台的一个svn客户端 ===TortoriseSVN=== 一个Windows下的svn客户端,提供和Windows资源管理器的整合功能。 ===kdesvn=== [[KDE]]下的一个svn客户端,在KDE4下可以支援和Dolphin的整合。 ===gnubversion=== [[Gnome]]下的一个工具,本身没有版本库浏览功能,提供和Nautilus的整合。 ===Linux下的IDE=== 一些IDE也都提供了对Subversion的整合支持,比如KDevelop,Anjuta,Eclipse(需要subclipse插件)。 ==Subversion服务器的使用== Subversion提供了一个用于建立SVN服务器的命令svnserve,你可以通过它在一台计算机上搭建一个svn服务器。 首先要用 svnadmin create <dir> 创建你的版本库。这是一个你的计算机上的目录。创建好后可以到该目录下的conf目录设置访问权限及密码。 然后可以使用 svnserve [options] -r <dir> 启动服务器。详细参数参考 svnserve --help ==Subversion与Apache== Apache下有一个mod可以提供http界面下的svn访问。 {{TODO|Apache下的httpd.conf配置}} ==Subversion的版本== 目前Subversion最新版本为1.5.5 {{TODO|SVN版本之间的兼容性}} ==参考资料== *[http://zh.wikipedia.org/wiki/Subversion wikipedia上对Subversion的介绍] *[http://en.wikipedia.org/wiki/Rapid wikipedia上对RapidSVN的介绍] *[http://svnbook.red-bean.com/index.zh.html Subversion官方教材(中文版)]
在这个页面上使用的模板有:
Template:TODO
(
查看源码
)
返回到
Subversion
。
导航
首页
社区入口
当前事件
最近更改
随机页面
帮助
查看
页面
讨论
查看源代码
历史
个人工具
登录/创建账户
搜索
简体繁体转换
不转换
简体
繁體
工具箱
链入页面
链出更改
特殊页面