这个版本历史分析图能够显示分支/标签从什么地方开始创建,以及什么时候删除。
|
|
重要 |
|---|---|
|
要实现版本分支图,TortoiseSVN必须从版本库中获取所有的日志信息。一个有上千版本号的版本库会需要几分钟的时间,这个主要有服务器速度,网络带宽等因素决定。如果你使用的是 |
版本分支图将显示以下内容:
- 增加文件/文件夹
-
已增加或通过拷贝生成的文件/文件夹以圆圈的方式标记。
- 已删除文件/文件夹
-
已删除文件,比如说一个不在需要的分支,将显示octagon(rectangle with corners cut off)。
- 分支最新版本
-
当一个分支(或者主干或者标签)从最新的节点开始以来有了新的更改,将有一个插件显示出来。也就是说,任意分支的最新版本都会显示在分支图上。
- 一般的文件/文件夹
-
其他一般的文件用plain rectangle标示。
默认的分支信息只会显示那些有增加或删除文件的节点。要显示一个项目的所有版本将会产生一个庞大的毫无价值的版本图。如果你呀看到所有的版本,在视图工具栏里可以找到实现该功能的选项。
这也有一个功能来排列版本分支旁支。它根据日志来对分支排序。如果分支从拷贝创建后都没有修改过一般被认为是一个标签而独立保存起来。每个分支(创建后有过修改的)会有它们自己的列,所以你可以看到分支延展到什么情况了。
任何时候只要鼠标在版本框上滑过,都会显示该版本的日期、作者和备注信息。
选择两个版本(用ctrl+左击),你可以在右键菜单下查看这两个版本的差异。你可以在分支的起始点查看差异,但一般你会在一个分支的结束点来查看,比如,在最新版本。
你可以用查看单一差异文件的方式来查看差异,它在单一的文件中显示差异。如果你选 → 所有修改过的文件都会呈现在列表中。双击一个文件名可以返回文件版本号和他们差异。
如果右击一个版本你可以使用 → 来查看它的历史。
|
|
小心 |
|---|---|
|
因为Subversion不能支持提供所有请求的信息,在有大量请求信息时,有时它能提供强大的返回信息。但无论如何,主干都会产生有用的输出。 |
5.23. 导出一个Subversion工作拷贝
有时候你需要拷贝出一个没有.svn的工作目录树,例如,创建一份源代码的压缩文件,或者导出一份用作WEB服务器。不用像一般的先把所有源文件拷贝出来然后将所有.svn文件删除。TortoiseSVN提供这样的功能 → 。如果你要用这个功能操作拥有一份工作拷贝,将会在要求你保存一份干净的文件。一般,要导出被版本控制了的文件,但你可以使用同时导出未受版本控制的文件来将版本库中没有但在你的本地拷贝中存在的文件导出来。另外可以使用svn:externals来忽略请求。
另外一个导出的方法是 右键拖工作拷贝到另外的保存位置,然后选择 → 或者 → 。后者可以把未受控制的文件也导出。
如果目标目录包含了和你导出的名称相同的目录,你需要使用此选项重写已经存在的内容,或者使用自动生成的名称,例如目标 (1)。
当然,你也可以直接从版本库导出。使用版本库浏览器浏览有关子树,然后使用 → 。
5.24. 重新定位工作拷贝
图 5.39. 重定位对话框

如果你的版本库因为某些原因而重定位了(IP/URL).也许你不能进行操作,不能提交,不能从新的定位检出拷贝,也不能将修改的数据提交到新位置的版本库中, → 也许正是你需要的。它的做法很简单: 查找所有 .svn 文件的接口然后把URL值改为新的版本库地址。
|
|
警告 |
|---|---|
|
这是一个极少使用的操作.重定位只能 在版本库路径更改时使用。可能的原因是:
换种说法,如果你要重定位,只有当你的工作拷贝仍然还在同一个版本库中定位,但版本库本身已经没有了。 以下情况不支持:
如果你使用以上任意一种重定位方式,它将破坏你的工作拷贝,在你更新、提交等操作时会提示一些令人费解的错误信息。一旦发生这种情况,唯一的办法就是检出最新版本。 |
5.25. 与BUG跟踪系统/问题跟踪集成
在软件开发中,修改依赖于一个bug或问题编号是很常见的。bug跟踪系统的用户(问题跟踪者)喜欢在问题跟踪中将Subversion的修改与一个指定编号联系起来。因此很多问题跟踪者提供了一个预提交钩子脚本,分析日志,查找提交相关的bug编号。这稍微有些不可靠,因为它依赖于用户写完全的日志,预提交钩子才能正确分析。
TortoiseSVN可以在两个方面帮助用户:

![[重要]](/uploads/allimg/080318/1044389.png)
![[小心]](/uploads/allimg/080318/10443822.png)
![[警告]](/uploads/allimg/080318/10443842.png)