- 默认
-
把所有状态信息缓存在一个独立进程中(
TSVNCache.exe)。该进程监视所有驱动器的更改,并在工作拷贝中的文件被修改时重新获取其状态。该进程以最低优先级运行,所以其他程序不会被它挤兑。这同样意味着状态信息并不是 实时 的,因为它需要几秒钟时间处理图标覆盖的变化。优点:图标覆盖递归地显示状态,就是说,如果一个处在工作拷贝深处的文件被修改了,所有途径的文件夹包括工作拷贝的根目录都会显示出修改的图标覆盖。也因为该进程可以向Windows外壳发送通知,资源管理器左面的树形图通常也会更改。
缺点:即使你已经不在项目下工作了,该进程仍然持续运行。取决于你工作拷贝的数量和大小,它将占用10-50 MB的RAM内存空间。
- Windows外壳
-
缓存在外壳扩展dll中直接完成,但仅仅是为那些当前可见的文件夹。每次你浏览到其他文件夹,状态信息就会被重新获取。
优点:仅仅需要很少的内存(大约1 MB),并且可以 实时 显示状态。
缺点:因为仅有一个文件夹被缓存,图标覆盖不会递归地显示状态。在大一些的工作拷贝下,它在浏览器中显示一个文件夹将比默认缓存模式花费更多时间。而且 mime-type 列将无效。
- 无
-
在这种设置下,TSVN在浏览器里就完全不去获取状态了。因此,版本控制下的文件将不会获得任何图标覆盖。文件夹也仅仅有个“正常”状态的图标覆盖,其他的不会显示,也不会有其他额外的列可用。
优点:绝对不会占用任何额外的内存,也完全不会减慢浏览器的浏览速度。
缺点:文件、文件夹的状态信息不会显示在浏览器中。要获知你的工作拷贝是否被修改了,你需要使用“检查更新”对话框。
若你选择了默认选项,将同样决定如下选择:在文件夹包含非版本控制的项目时,把文件夹图标覆盖标记为已修改。这个有用的设置可以提醒你已经创建了非版本控制的新文件。
排除路径 是被用来告诉TSVN 不用 在哪些路径下显示图标覆盖和状态列。如果你有些很大的工作拷贝,而这些工作拷贝仅仅包含你完全不想改变的库文件,从而你也不需要显示图标覆盖,这时该功能将会很有用。举个例子:
填写 f:\development\SVN\Subversion 将 仅仅 在这个特殊文件夹上取消图标覆盖。 你仍然可以在该路径下的所有文件、文件夹上看到图标覆盖。
填写 f:\development\SVN\Subversion* 将在路径以 f:\development\SVN\Subversion 开始的 所有 文件和文件夹上取消图标覆盖。这意味着你在该路径下的任何文件/文件夹上都将看不到图标覆盖了。
包含路径 也使用同样的语法。除了有些反例:即使该路径处在某个取消图标覆盖显示的特定驱动类型下,或是处在上面的排除路径之下, 也依然会显示图标覆盖。
TSVNCache.exe 同样使用这些路径来限制它的扫描。如果你想让它仅仅在某些特定文件夹里监视,就取消所有的驱动器类型,并仅仅包含你允许被扫描的文件夹。
5.27.2.2. 图标集选择
图 5.43. 设置对话框,图标集页面

你可以选择你最喜欢的覆盖图标集。要注意的是,倘若改变了覆盖图标集,你可能需要重启计算机使更改生效。
5.27.2.3. TSVN对话框设置一
图 5.44. 设置对话框,对话框一页面

此对话框允许你按照喜欢的方式去配置一些TSVN的对话框。
- 默认的日志信息数
-
限制你第一次选择 → 时,TSVN向服务器获取的日志信息数。在服务器连接缓慢时很有用。你可以使用 或 来获得更多信息。
- 日志信息字体
-
选择日志信息显示的字体样式和大小,作用域为版本日志对话框的中间窗格,以及提交对话框时填写日志信息的窗格。
- 日志信息使用短日期/时间格式
-
如果标准长度的日期/时间信息占在用了过多的屏幕空间,可以使用短格式。
- 进程对话框
-
当一个动作正确无误地完成时,TSVN可以自动关闭所有的进程对话框。这项设置允许你选择在何种情况下关闭对话框。默认(推荐)的设置是 手动关闭 ,允许你重新浏览所有信息并检查发生了什么。当然,你可能会决定忽略某些类型的信息并在你的操作没做出什么重大改变的情况下让对话框自动关闭。
如无合并、添加、删除操作,自动关闭 意味着如果有简单更新的话,进程对话框将关闭。但如果版本库的更改和你的内容进行了合并,或若有任何文件被添加或删除,对话框将保持打开。若操作中发生什么冲突和错误这些对话框也将同样保持打开。
对本地操作自动关闭(如无合并、添加或删除操作,自动关闭) 意味着进程对话框当 如无合并、添加或删除操作 时自动关闭,但仅限于那些如添加文件、还原等本地的操作。在做远程操作时对话框将保持打开。
无冲突时自动关闭 更放宽了标准,即使在无合并、添加、删除操作时也同样关闭对话框。当然,如果操作发生了任何冲突或错误,对话框将保持打开。
如无错误,自动关闭 即使在有冲突发生时也会关闭。维持对话框打开的唯一条件是发生了错误,使得Subversion无法完成任务。举个例子,一个更新操作由于服务器不可达而失败了,或是一个提交操作因为工作拷贝已经过期而失败。
- 使用工作拷贝的URL作为默认的来源URL
-
在合并对话框里,默认行为是在每次合并中记忆 起始: 的URL。无论如何,都有某些人喜欢在他们的版本进化树中从很多不同的位置执行合并操作,他们发现从当前工作拷贝的URL开始更方便些。该URL可以随后被编辑来指向一个同级路径或另一个分支。
5.27.2.4. TSVN对话框设置二
图 5.45. 设置对话框,对话框二页面

- 递归处理未进行版本控制的文件夹
-
若这个选项框被选中(默认状态),那么一个非版本控制的文件夹,不论在 添加,提交 或 检查更新 时显示的是什么状态,它的每个子文件和子文件夹都要同样显示。取消选择将减少这些对话框中的混乱程度。这样一来如果你选择添加一个非版本控制的文件夹,将会非递归地添加。
- 自动完成文件路径和关键词
-
提交对话框包含了一个功能模块,可以解析被提交的一系列文件名。当你输入一个提交列表中某个文件的前三个字母时,自动完成对话框就会弹出来,使你随后可以点击回车来直接完成这个文件名。选择该选项来使用这个功能特性。
- 对自动完成进行多长时间的分析(秒)
-
如果有大量文件需要程序检查,自动完成解析器可能会非常慢。该超时时间设置可以防止提交对话框被长时间挂起。若你错过了某些重要的自动完成信息,你可以延长该超时时间。
- 仅在保留了 tsvn:projectlanguage 时才进行拼写检查
-
若你不愿意在所有提交操作时都进行拼写检查,就选择该选项。而后拼写检查功能将在项目属性做出明确要求时才生效。
- 日志中保留的最大条目数量
-
TSVN可以为每个版本库保存你访问时所输入的最后25条日志信息。你可以自定义该数目。若你有很多不同的版本库,你可能会希望减少该数目以防止向注册表中填入过多信息。
