TortoiseSVN 64 位版主要支持64位操作系统,TortoiseSVN是一(yī)款免费开源的(de)SVN客户(hù)端,这是程序员必备的一(yī)款工具(jù),他可以有效地记录每个(gè)文件 和目录以往的版本,方(fāng)便用户对修改的文件(jiàn)进行恢复,同(tóng)时还可以使用(yòng)新(xīn)文(wén)件与旧文件进行比较(jiào),看(kàn)一下(xià)哪些文件发(fā)生了变化,因此(cǐ)该软件又(yòu)被(bèi)称为时间机(jī)器。 TortoiseSVN客(kè)户端(duān)默认下载时(shí)包含了中文语言包。
TortoiseSVN 是 Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理(lǐ)文(wén)件和目录。文件保存在中央版本库(kù),除了能记住文(wén)件和目录的每次修改(gǎi)以外,版本库非常像普通(tōng)的(de)文件服务器。你(nǐ)可以将文件恢复(fù)到过去的版本,并且可以通(tōng)过(guò)检查历史(shǐ)知道数据(jù)做了哪些修改,谁做的修改。这就是为什么许多人将 Subversion 和版本控制系(xì)统看作一种“时间机器”。
某些版本控制系(xì)统也是软(ruǎn)件配(pèi)置管理(SCM)系统(tǒng),这(zhè)种系统经过精巧的设计,专门(mén)用来管理源代码树,并且具(jù)备许多与软件开发有(yǒu)关(guān)的特性 - 比如,对(duì)编程语言的(de)支持,或(huò)者提供程(chéng)序构建工具。不(bú)过 Subversion 并不是这样的系(xì)统;它是(shì)一个通用系统,可以管理(lǐ)任(rèn)何类(lèi)型(xíng)的文件集,包括源代(dài)码。
TortoiseSVN 的历史(shǐ)
在(zài)2002年,Tim Kemp 发现(xiàn) Subversion 是一个(gè)很(hěn)好的版(bǎn)本控制系统,但是没有好的(de)图形化客户(hù)端,创(chuàng)建一个作为 Windows 外壳集成的 Subversion 客(kè)户端的创意来自 TortoiseCVS,一个非常类似的 CVS 客户端。
Tim 学习了 TortoiseCVS 的源代码,将(jiāng)其作为 TortoiseSVN 的基础,然(rán)后开始(shǐ)这(zhè)个项目,注册了域名 tortoisesvn.org,并将源代码提交到网上。此时(shí) Stefan Küng 正在寻(xún)找一个好的免费版本(běn)控制(zhì)系(xì)统,他发现了 Subversion 和 TortoiseSVN,由于 TortoiseSVN 还(hái)不(bú)能够使用,他加入了(le)这个项(xiàng)目并开(kāi)始编程。很(hěn)快他便重写了大(dà)多数代码,并(bìng)且(qiě)开(kāi)始(shǐ)添加命令(lìng)和特性,此时,最初的代码都已经不复存在了(le)。
随着 Subversion 越来越(yuè)稳定,吸引(yǐn)了越来越多的(de)用户开始(shǐ)使用 TortoiseSVN 作为他们的 Subversion 客(kè)户端。用户群增(zēng)长迅速(sù)(每(měi)天(tiān)都持续增长)。Lübbe Onken 提供了许多漂亮图标(biāo)和 TortoiseSVN 的 logo,细心照料网站并且管理翻译。
1.可选的(de)网络层
Subversion 在版本库访问方(fāng)面有一个(gè)抽象概念,利于人们去实(shí)现新的网络机制,Subversion 的“高(gāo)级”服务器是(shì) Apache 网络服务器的(de)一个模(mó)块,使用 HTTP 的变种协议 WebDAV/DeltaV 通讯,这给了 Subversion 在稳定性和交互性方面(miàn)很大的好处,可以直接使用服(fú)务器的特性(xìng),例(lì)如认证(zhèng)、授权(quán)、传输压缩和版本库浏(liú)览等等。也有一个(gè)轻型的,单独运行的 Subversion 服务器,这(zhè)个服务器使用(yòng)自(zì)己的协议(yì),可(kě)以轻松(sōng)的用(yòng) SSH 封装。
2.数据处理
Subversion 使用二进制(zhì)文件差异(yì)算法(fǎ)展现文件的区别,对(duì)于(yú)文本(人类可读)和二进制(人类不(bú)可读)文件具备一(yī)致的操作方式,两种类型的文件(jiàn)都(dōu)压缩存放在版(bǎn)本库中,差异在网络上双向传递。
3.高(gāo)效(xiào)的分支(zhī)和标(biāo)签
分支与标签的代价不与工程的大小成(chéng)比例,Subversion 建立(lì)分支与标签时只是复制项目,使用了一种类似(sì)于硬链(liàn)接的机制,因而这(zhè)类操作通常只会花(huā)费很少并且相(xiàng)对固定(dìng)的时(shí)间,以及很小的版本库空间。
4.维护(hù)能力
Subversion 没有历史负(fù)担,它(tā)由一系列(liè)良好的(de)共享 C 库实现,具有定义良(liáng)好的 API,这使 Subversion 非常容易维护,可以轻易的(de)被其(qí)他语言和程(chéng)序使(shǐ)用。
5.外壳集成(chéng)
TortoiseSVN 与(yǔ)Windows 外壳(例如(rú)资源管理器)无缝集成,你可以保持在熟悉的工具上工作,不(bú)需要在每次使(shǐ)用版本控制功能时切换(huàn)应用程序。并且你(nǐ)不一定(dìng)必须使用 Windows 资(zī)源管理(lǐ)器,TortoiseSVN 的右键(jiàn)菜单可(kě)以(yǐ)工作在(zài)其(qí)他文件(jiàn)管理(lǐ)器,以及文(wén)件/打开对话框等标准(zhǔn)的 Windows 应用程(chéng)序中(zhōng)。你必须牢记,TortoiseSVN 是有意作(zuò)为 Windows 资源管理器的扩展开发,因此在其他程序可能集成的并不完整,例如(rú)重载图标可能不(bú)会显(xiǎn)示。
6.重载(zǎi)图标
每个版本控制(zhì)的文件和(hé)目录的状(zhuàng)态使用小的重载图标表示,可以让你立刻看出工作副本的状(zhuàng)态(tài)。
7.简便访问
Subversion 命(mìng)令的(de)简(jiǎn)便访问(wèn)
所有的 Subversion 命令存在于(yú)资源管理器的右键菜单,TortoiseSVN 在那里添加子菜单。因为 TortoiseSVN 是一个 Subversion 客户(hù)端,我们也很(hěn)愿意为你展示(shì)一些 Subversion 本身的特性:
8.目(mù)录版本(běn)控制
CVS 只能(néng)追踪单个文(wén)件的历史,但是 Subversion 实现(xiàn)了一个“虚拟(nǐ)”文件系统,可以追踪(zōng)整个目录树(shù)的修改,文件和目录都(dōu)是版本(běn)控制(zhì)的,结(jié)果就(jiù)是可以(yǐ)在客户端对文件和目录执行移动和(hé)复制命令。
9.原子(zǐ)提交(jiāo)
提交要么完全进入版(bǎn)本库(kù),要么一点(diǎn)都没有(yǒu),这(zhè)允(yǔn)许开(kāi)发者以一个逻辑块提交修改。
版本控制(zhì)的元(yuán)数据(jù)。每个文件和目(mù)录都(dōu)有一组(zǔ)附加的“属性”,你可(kě)以发明和保存任(rèn)意的(de)键/值对(duì),属性是版(bǎn)本(běn)控制的,就(jiù)像文件内容。

