TortoiseSVN是Subversion 版本控制系统的一个免费开源客户端,专门为程序员量身打造的,随着形式的发展,CVS已经不再适合现代开发,SVN已经完全取代了CVS,ortoiseSVN可以超越时间的管理文件和目录。文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件服务器。目前已经成为了程序员必不可少的得力工具,需要的可以试试看。
软件特色
外壳集成
TortoiseSVN 与Windows 外壳(例如资源管理器)无缝集成,你可以保持在熟悉的工具上工作,不需要在每次使用版本控制功能时切换应用程序。
并且你不一定必须使用 Windows 资源管理器,TortoiseSVN 的右键菜单可以工作在其他文件管理器,以及文件/打开对话框等标准的 Windows 应用程序中。你必须牢记,TortoiseSVN 是有意作为 Windows 资源管理器的扩展开发,因此在其他程序可能集成的并不完整,例如重载图标可能不会显示。
重载图标
每个版本控制的文件和目录的状态使用小的重载图标表示,可以让你立刻看出工作副本的状态。
Subversion 命令的简便访问
所有的 Subversion 命令存在于资源管理器的右键菜单,TortoiseSVN 在那里添加子菜单。
因为 TortoiseSVN 是一个 Subversion 客户端,我们也很愿意为你展示一些 Subversion 本身的特性:
目录版本控制
CVS 只能追踪单个文件的历史,但是 Subversion 实现了一个“虚拟”文件系统,可以追踪整个目录树的修改,文件和目录都是版本控制的,结果就是可以在客户端对文件和目录执行移动和复制命令。
原子提交
提交要么完全进入版本库,要么一点都没有,这允许开发者以一个逻辑块提交修改。
版本控制的元数据
每个文件和目录都有一组附加的“属性”,你可以发明和保存任意的键/值对,属性是版本控制的,就像文件内容。
可选的网络层
Subversion 在版本库访问方面有一个抽象概念,利于人们去实现新的网络机制,Subversion 的“高级”服务器是 Apache 网络服务器的一个模块,使用 HTTP 的变种协议 WebDAV/DeltaV 通讯,这给了 Subversion 在稳定性和交互性方面很大的好处,可以直接使用服务器的特性,例如认证、授权、传输压缩和版本库浏览等等。也有一个轻型的,单独运行的 Subversion 服务器,这个服务器使用自己的协议,可以轻松的用 SSH 封装。
一致的数据处理
Subversion 使用二进制文件差异算法展现文件的区别,对于文本(人类可读)和二进制(人类不可读)文件具备一致的操作方式,两种类型的文件都压缩存放在版本库中,差异在网络上双向传递。
高效的分支和标签
分支与标签的代价不与工程的大小成比例,Subversion 建立分支与标签时只是复制项目,使用了一种类似于硬链接的机制,因而这类操作通常只会花费很少并且相对固定的时间,以及很小的版本库空间。
良好的维护能力
Subversion 没有历史负担,它由一系列良好的共享 C 库实现,具有定义良好的 API,这使 Subversion 非常容易维护,可以轻易的被其他语言和程序使用。
使用方法
TortoiseSVN是windows平台下Subversion的免费开源客户端。
一般我们都是先讲讲服务器的配置,然后再讲客户端的使用,但是在TortoiseSVN上,却可以反过来。因为,如果你的要求不高,只是想在本机,或者是可信任的局域网络中使用SVN版本控制,可以不需要安装SVN,而只使用TortoiseSVN即可。
接下来就来讲讲TortoiseSVN的使用。
1、下载TortoiseSVN。
2、安装TortoiseSVN。很简单,一路“Next”即可。安装完TortoiseSVN后,重启计算机。现在,你就可以使用TortoiseSVN了。
TortoiseSVN集成于windows的资源管理器,直接在资源管理器中点击鼠标右键即可看到TortoiseSVN的功能选项。
3、安装中文语言包。安装下载的中文语言包安装程序。完成后,在TortoiseSVN右键菜单的Settings选项中,选择简体中文即可。
4、获取已有的版本库文件。
版本库是Subversion的核心部分,是数据的中央仓库。版本库以典型的文件和目录结构形式文件系统树来保存信息。任意数量的客户端连接到Subversion版本库,读取、修改这些文件。客户端通过写数据将信息分享给其他人,通过读取数据获取别人共享的信息。
TortoiseSVN可以通过file://、http://和svn://多种协议连接版本库。
现在尝试获取互联网上的一个开源系统的版本库文件。
Cnpack是面向Delphi的一个开源工具组织,代码版本库的http地址是:http://cnpack.googlecode.com/svn/trunk。
(1)建立一个工作目录,如d:源码。
(2)在工作目录中,选择TortoiseSVN右键菜单“SVN检出”,显示检出对话框,输入cnpack版本库url,检出目录设定为工作目录下的cnpack目录。
(3)确定后,TortoiseSVN获取到文件,并在工作目录中建立cnpack文件夹,里面为最新的代码文件。文件夹状态已为SVN关联状态,如
(4)你也可以在TortoiseSVN菜单中选择“版本库浏览器”,输入版本库url,显示版本库浏览器,并可以直接查看和管理版本库中文件。
5、在本机提供版本管理。
TortoiseSVN可以通过file://协议打开本机或者共享目录中的版本库,同时TortoiseSVN也提供了方便的创建版本库的功能,因此,我们可以直接使用TortoiseSVN在本机或者局域网中建立版本控制的环境。
需要注意的是,共享目录下的版本库需要开放读写权限给多人操作,因此,文件的安全性存在问题,^_^,这也是VSS的问题吧?
(1)创建版本库。
建立多版本库父目录c:svn_ds。在其中创建版本库目录LearnAIR(学习AIR的代码管理)。点击TortoiseSVN菜单的“在此创建版本库”。
(2)如果没有文件系统读写错误,将出现成功提示信息,LearnAIR目录中出现版本库初始文件和目录信息。
(3)同前面打开版本库说明,选择TortoiseSVN菜单“SVN检出”,版本库url地址填入file协议,如:file:///C:/SVN_DS/LearnAIR。设置检出目录,确定。建立起检出目录。
(4)从检出目录中进行文件管理。
将AIR代码目录放入检出目录中,TortoiseSVN会自动判断文件夹和版本库状态,如:
选择“SVN提交”,可将检出目录中的文件和文件夹选择提交到版本库中。
检出目录中修改后的文件,图标状态改变:
同样,可查看目录中文件和版本库中差异:
基本的版本管理操作并不复杂,如果对安全性不高,这样的本地版本管理很适用于个人的一些代码历史跟踪、草稿文档的管理等。
安装时首先安装TortoiseSVN软件,然后再安装语言包,在设置里更改语言:
∨ 展开