标题：TortoiseSVN
简介
版本控制是管理信息修改的艺术，它一直是程序员最重要的工具，程序员经常会花时间作出小的修改，然后又在某一天取消了这些修改，想象一下一个开发者并行工作的团队 - 或许是同时工作在同一个文件！- 你就会明白为什么一个好的系统需要管理潜在的混乱。
某些版本控制系统也是软件配置管理(SCM)系统，这种系统经过精巧的设计，专门用来管理源代码树，并且具备许多与软件开发有关的特性 - 比如，对编程语言的支持，或者提供程序构建工具。不过 Subversion 并不是这样的系统；它是一个通用系统，可以管理任何类型的文件集，包括源代码。
（概述内容来源：[1]）
历史
在2002年，Tim Kemp 发现 Subversion 是一个很好的版本控制系统，但是没有好的图形化客户端，创建一个作为 Windows 外壳集成的 Subversion 客户端的创意来自 TortoiseCVS，一个非常类似的 CVS 客户端。
Tim 学习了 TortoiseCVS 的源代码，将其作为 TortoiseSVN 的基础，然后开始这个项目，注册了域名 tortoisesvn，并将源代码提交到网上。此时 Stefan Küng 正在寻找一个好的免费版本控制系统，他发现了 Subversion 和 TortoiseSVN，由于 TortoiseSVN 还不能够使用，他加入了这个项目并开始编程。很快他便重写了大多数代码，并且开始添加命令和特性，此时，最初的代码都已经不复存在了。
随着 Subversion 越来越稳定，吸引了越来越多的用户开始使用 TortoiseSVN 作为他们的 Subversion 客户端。用户群增长迅速(每天都持续增长)。Lübbe Onken 提供了许多漂亮图标和 TortoiseSVN 的 logo，细心照料网站并且管理翻译。
特性
是什么让 TortoiseSVN 成为一个好的 Subversion 客户端？下面是一个简短的特性列表。可选的网络层Subversion 在版本库访问方面有一个抽象概念，利于人们去实现新的网络机制，Subversion 的“高级”服务器是 Apache 网络服务器的一个模块，使用 HTTP 的变种协议 WebDAV/DeltaV 通讯，这给了 Subversion 在稳定性和交互性方面很大的好处，可以直接使用服务器的特性，例如认证、授权、传输压缩和版本库浏览等等。也有一个轻型的，单独运行的 Subversion 服务器，这个服务器使用自己的协议，可以轻松的用 SSH 封装。一致的数据处理Subversion 使用二进制文件差异算法展现文件的区别，对于文本(人类可读)和二进制(人类不可读)文件具备一致的操作方式，两种类型的文件都压缩存放在版本库中，差异在网络上双向传递。
高效的分支和标签
分支与标签的代价不与工程的大小成比例，Subversion 建立分支与标签时只是复制项目，使用了一种类似于硬链接的机制，因而这类操作通常只会花费很少并且相对固定的时间，以及很小的版本库空间。良好的维护能力Subversion 没有历史负担，它由一系列良好的共享 C 库实现，具有定义良好的 API，这使 Subversion 非常容易维护，可以轻易的被其他语言和程序使用。外壳集成TortoiseSVN 与Windows 外壳(例如资源管理器)无缝集成，你可以保持在熟悉的工具上工作，不需要在每次使用版本控制功能时切换应用程序。
并且你不一定必须使用 Windows 资源管理器，TortoiseSVN 的右键菜单可以工作在其他文件管理器，以及文件/打开对话框等标准的 Windows 应用程序中。你必须牢记，TortoiseSVN 是有意作为 Windows 资源管理器的扩展开发，因此在其他程序可能集成的并不完整，例如重载图标可能不会显示。重载图标每个版本控制的文件和目录的状态使用小的重载图标表示，可以让你立刻看出工作副本的状态。简便访问Subversion 命令的简便访问
所有的 Subversion 命令存在于资源管理器的右键菜单，TortoiseSVN 在那里添加子菜单。
因为 TortoiseSVN 是一个 Subversion 客户端，我们也很愿意为你展示一些 Subversion 本身的特性:目录版本控制CVS 只能追踪单个文件的历史，但是 Subversion 实现了一个“虚拟”文件系统，可以追踪整个目录树的修改，文件和目录都是版本控制的，结果就是可以在客户端对文件和目录执行移动和复制命令。原子提交提交要么完全进入版本库，要么一点都没有，这允许开发者以一个逻辑块提交修改。
版本控制的元数据
每个文件和目录都有一组附加的“属性”，你可以发明和保存任意的键/值对，属性是版本控制的，就像文件内容。
安装
语言包
TortoiseSVN的界面已经翻译成了许多种语言，所以你可以下载符合你要求的语言包。你可以在我们的翻译状态页里看到语言包。如果没有你需要的，为什么不加入我们的团队并且提交你的翻译呢？-)
每一种语言包都是一个.exe安装程序，只要根据向导运行安装程序，当你下一次启动程序时，翻译就会生效。
拼写检查器
TortoiseSVN包括了一个拼写检查器，可以检查你的提交日志信息，当你的项目语言不是你的本地语言时尤其有用，拼写检查器使用OpenOffice和Mozilla相同的词典。
安装程序会自动增加了美国和英国英语dictionaries.If你想其他语言，最简单的方法是简单地安装一个TortoiseSVN的语言packs.This将安装合适的词典文件以及本地用户theTortoiseSVN interface.Next时间你开始，字典将可用。
或者你也可以自己安装词典。如果你安装了OpenOffice或Mozilla，你可以复制这些词典，位于那些应用的安装目录。否则，你需要从网络上下载必要的词典文件。
一旦你得到了词典文件，你可能需要重命名文件，这样文件名只包含位置信息，例如:
en_US.aff
en_US.dic
然后把它们复制到TortoiseSVN安装目录的bin子目录，通常情况下，可能是在C:\ProgramFiles\TortoiseSVN\bin。如果你不希望弄乱bin子目录，你可以将拼写检查文件放置在C:\ProgramFiles\TortoiseSVN\Languages，如果那个目录不存在，你可以自己创建，当你下次启动TortoiseSVN时，就可以使用拼写检查器。
如果你安装了多个词典，TortoiseSVN使用下面的规则选择一个。
检查tsvn:projectlanguage设置，关于设置项目属性可以参考“项目设置”一节。
如果没有设置项目语言，或者那个语言没有安装，尝试使用对应Windows区域信息的语言。
如果精确的Windows区域信息不起作用，可以试一下“基础”语言，例如将de_CH(Swiss-German)修改为de_DE(German)。
使用技巧
检出代码初次使用TortoiseSVN的时候，你需要将服务器的代码下载到本地，这就是SVN Checkout（SVN检出）。检出的步骤如下
第一步，如图1，创建一个新文件夹作为本地工作目录(Working directory)，可以使用应用名为文件夹名。如，为我的应用vyes创建本  建立工作目录地工作目录。
第二步，从SVN仓库检出(checkout)一个应用的全部版本代码，如图2，右键–>点击“SVN Checkout”
  TortoiseSVN右键在弹出页面中填写仓库URL即可，其它默认参数即可，如图3：
  TortoiseSVN检出对话框Reversion处，“HEAD revision”是指最新版，也可以指定Revision为任意一个版本。
点击“OK”，出现下载界面，如图4：
  检出的下载界面如果一切顺利，vyes应用所有版本代码将会全部出现在刚刚创建的vyes文件夹下文件夹，1是指vyes的第一个版本，如图5：
  TortoiseSVN检出成功修改并提交代码在本地使用你喜欢的编辑器，编辑任意文件，保存后该文件图标将会出现红色感叹号，表示这个文件修改过，没有提交，如图6所示：
  Tortoise修改代码刚刚修改过的global.css变色了。下面需要提交(commit)最近的更新。在global.css上击右键，出现菜单 ，选择“SVN commit”，如图7：
  右键菜单的commit然后填写关于本次更新的日志（log message），这是必填项，否则commit会失败。如图8：
  commit提交对话框当您看到如图9所示，表明刚才的修改已经成功提交，并且前该vyes项目的SVN版本号加1，变成91了。
  commit提交成功新增文件、文件夹在 SVN工作目录下，对于文件修改，完成后只需要commit就ok了，但对于新增文件，或者从其它目录复制进来的文件或文件夹，需要在commit之前需 要做一步add操作，即将文件或文件夹添加到svn工作目录中来，否则SVN客户端不认它。具体操作很简单，如图10:
  新增文件或文件夹然后再如图7所示，右键commit即可，commit之后，在浏览器上输入你的应用地址就能访问了。
版本发布
2012年01月16日，TortoiseSVN 1.7.4 发布。[2]
2012年04月29日，TortoiseSVN 1.7.6 发布。[3]
2012年06月08日，TortoiseSVN 1.7.7 发布，SVN客户端。[4]
2012年08月16日，TortoiseSVN 1.7.8 发布。[5]
2012年09月11日，TortoiseSVN 1.7.9发布。[6]
TortoiseSVN 1.7.11发布