TortoiseSVN 是 Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录。文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件服务器。你可以将文件恢复到过去的版本,并且可以通过检查历史知道数据做了哪些修改,谁做的修改。这就是为什么许多人将 Subversion 和版本控制系统看作一种“时间机器”。
新版特征
1. 修复数据错误导致的文件打开保存异常问题;
2. 兼容性问题改进。
TortoiseSVN的历史:
在2002年,TimKemp发现Subversion是一个很好的版本控制系统,但是没有好的图形化客户端,创建一个作为Windows外壳集成的Subversion客户端的创意来自TortoiseCVS,一个非常类似的CVS客户端。Tim学习了TortoiseCVS的源代码,将其作为TortoiseSVN的基础,然后开始这个项目,注册了域名tortoisesvn.org,并将源代码提交到网上。此时StefanKüng正在寻找一个好的免费版本控制系统,他发现了Subversion和TortoiseSVN,由于TortoiseSVN还不能够使用,他加入了这个项目并开始编程。很快他便重写了大多数代码,并且开始添加命令和特性,此时,最初的代码都已经不复存在了。随着Subversion越来越稳定,吸引了越来越多的用户开始使用TortoiseSVN作为他们的Subversion客户端。用户群增长迅速(每天都持续增长)。LübbeOnken提供了许多漂亮图标和TortoiseSVN的logo,细心照料网站并且管理翻译。
TortoiseSVN的特性:
外壳集成
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非常容易维护,可以轻易的被其他语言和程序使用。