本文目的在与描述TortoiseSVN客户端的日常使用。不是一个版本控制系统指南,也不是Subversion (SVN)的指南。本文档的价值在于,当你知道大概要做什么,却又记不起应该怎么做的时候,可以有个参考的地方。如果你需要了解使用Subversion进行版本控制的指南,我们建立你阅读以下这本梦幻般的书: Subversion权威指南本文档与TortoiseSVN和Subversion一样,也是处于正在开发的状态。如果你找到了错误之处,请向邮件列表报告,这样我们就可以更新它。日常使用指南(DUG)中的一些屏幕截图也许不符合当前软件中的情况。请您原谅我们。毕竟我们只是用业余的时间在制作TortoiseSVN 你应该已经安装了TortoiseSVN
你应该熟悉版本控制系统。 你应该知道Subversion的基础。 你应该已经建立了一个服务器并且可以访问Subversion库. 5.1开始 5.1.1.图标重载图5.1.显示重载图标的资源管理器显示重载图标的资源管理器

TortoiseSVN最直观的功能之一就是图标重载,重载的图标显示在你的工作复本文件上。你一眼就可以知道文件被修改过了。参考第 5.7.1 节 “图标重载”学习不同的重载图标所表示的意义。
5.1.2. 右键菜单
图 5.2. 版本控制下一个目录的右键菜单

所有的TortoiseSVN命令都是通过windows资源管理器的右键菜单执行。右键点击一个文件或者文件夹,大多数菜单项都能够直接显示。一个命令是否显示取决于这个文件或文件夹或者它们的父文件夹是否受版本控制,你也可以将TortoiseSVN的菜单作为资源管理器菜单的一部分。
在某些情况下,你可能看到多个TortoiseSVN条目。这不是BUG!
图 5.3. 在一个版本控制的文件夹下资源管理器文件菜单中的快捷方式。

本示例是在一个受控文件夹下的某个未受控的快捷方式, 在资源管理器的文件菜单下有三个TortoiseSVN条目。一个是受控文件夹本身的,一个是快捷方式本身的,第三个是快捷方式所指向的对象。为了帮助你区分它们,菜单条目的图标的右下角有标志,表明是文件、快捷方式、文件夹或是选中了多项。
5.1.3. 拖放
图 5.4. 版本控制下的一个目录的右键拖拽菜单

在工作拷贝里右键拖拽文件或目录到新的位置,或者右键拖拽一个非版本控制的文件或文件夹到一个版本控制目录下的时候,右键菜单还能够出现其他的命令。
5.1.4. 常用快捷方式
一些常见的操作与Windows的快捷键是一样的,但没有出现在按钮或是菜单中。如果你找不到一些显而易见的操作,比如刷新视图,请参考以下内容。
F1
当然是帮助。F5
刷新当前视图。这也许是单键命令中唯一一个最常用的了。比如... 在资源浏览器中,这个键可以刷新工作复本中的图标重载。在提交对话框中,它可以重新扫描查找哪些是需要提交的。在版本日志对话框中,可以重新联系版本库以检查更多的最近修改情况。Ctrl-A
全选。可用于在得到一个错误消息并想要复制粘贴到电子邮件时。使用Ctrl-A to选择错误错误,然后...Ctrl-C
... 复制选中的文本。
5.1.5. 认证
如果要连接的版本库需要口令,一个认证对话框就会显示出来。
图 5.5. 认证对话框

输入你的用户名和口令。那个选择框能让TortoiseSVN在Subversion的缺省路径下$APPDATA\Subversion\auth的三个子目录里保存认证信息:
svn.simple文件里包含了基本认证方式所需要的认证信息(用户名/口令)。
svn.ssl.server文件里包含了SSL服务器证书。
svn.username文件里包含了用户名认证的认证信息(不需要提供密码)。
每个文件对应一个要连接的服务器。文件是纯文本格式,因此可以用文本编辑器查看每个文件是应用于哪个服务器的。如果希望Subversion和TortoiseSVN忘记某个服务器的凭证信息,只需删除这个服务器的对应文件即可。
如果想要清除所有服务器的认证缓存,可以通过TortoiseSVN的设置对话框的常规设置页来实现。那个按钮能够清除Subversion的auth目录下缓存的所有认证数据,以及老版本的TortoiseSVN存储在注册表里的认证数据。请参考 第 5.27.1 节 “常规设置”。
关于如何设置服务器的认证和权限的更多信息,请参考第 3 章 配置服务器
Tip
![[提示]](/uploads/allimg/080318/1044385.png)
提示
如果使用Windows NT域进行认证,输入用户名的时候要包括域名,如:MYDOMAIN/johnd。
5.2. 导入数据到版本库
5.2.1. 版本库布局
在将你的数据导入到版本库之前,首先你得考虑如何组织你的数据。如果你使用一种推荐的布局,你在后面的操作将会更容易许多。
有一些标准的、推荐的方式来组织一个版本库。大多数人建一个trunk目录来存放开发的“主线”、一个branches目录来容纳分支拷贝、以及一个tags目录来容纳标签拷贝。如果一个版本库只存放一个项目,人们通常创建三个这样的顶层目录:
/trunk /branches /tags
如果一个版本库包含多个项目,人们通常按分支来安排布局:
/trunk/paint /trunk/calc /branches/paint /branches/calc /tags/paint /tags/calc
……或者按项目:
/paint/trunk /paint/branches /paint/tags /calc/trunk /calc/branches /calc/tags
如果项目不是密切相关,而且每一个是单独被检出,那么按项目布局是合理的。对于那些你想一次检出所有项目,或需要将它们打成一个分发包的相关项目,按分支来布局通常比较好。这种方式你只要检出一个分支,而且子项目之间的关系也比较清楚。