谁修改了哪一行?

有时你不仅要知道哪一行做了修改,还要精确地知道谁修改了一个文件中的哪一行。这就是TortoiseSVN追溯...命令,有时候也叫做 评注 命令派上用场的时候了。

对一个文件中的每一行,这个命令列出了作者和该行修改时的版本。

追溯文件

图 5.43. 评注/追溯对话框

评注/追溯对话框


如果对早期版本的修改不感兴趣,你可以设置从哪个版本开始追溯。如果你想追溯每一个版本,你可以把那个数值设置为1

默认情况下,追溯文件使用TortoiseBlame,这个工具可以高亮显示不同版本从而使阅读更加容易。如果想打印或者编辑追溯文件,复选使用文字编辑器查看追溯信息

你可以指定处理行结束符和空白改变的方法。这些选项在 “行结束符和空白选项”一节 描述。默认是将行结束符和空白改变视为实际改变,但是如果你想忽略缩进改变和找到原始作者,那么可以在这里选择适当的处理方法。

一旦你按了 OK 按钮,TortoiseSVN就开始从版本库获取数据创建追溯文件。注意: 视修改的文件的多少和你的网络连接情况,可能会花掉几分钟到几十分钟不等。追溯过程完成后,其结果将会写到一个临时文件中,你可以读到这个结果文件。

图 5.44. TortoiseBlame

TortoiseBlame


TortoiseBlame,包含在TortoiseSVN中,使得追溯文件更加容易阅读。当你的鼠标在追溯信息列的某一行上盘旋时,所有和该列具有相同版本号的行都会用一个比较暗的背景色显示。同一作者修改的其他版本的行会用一个亮一些的背景色显示。如果你的显示设置为256色模式,那么颜色显示的可能不会很清楚。

如果在某一行上左击,具有同一版本号的所有行都会高亮显示,同一作者的其他版本的行会用一个更亮的颜色高亮显示。这个高亮具有粘性,也就是说允许你移动鼠标但原先高亮的地方仍然保持高亮。再次点击该版本将关闭高亮显示。

只要鼠标逗留在追溯信息列,版本注释(日志信息)就会作为提示出现。如果你想复制此版本的日志信息,使用在追溯信息列显示的右键菜单。

你可以在追溯报告里用编辑查找...来搜索想要的内容。它允许你搜索版本号,作者还有文件的内容。这个搜索不包含日志信息-你可以在日志对话框里搜索日志信息。

你也可以使用 编辑转到行 ... 来跳到指定行。

当鼠标滑过追溯信息列时,有个上下文菜单可以帮助你比较版本和检查历史,它用鼠标下方行的版本号作为参考版本。上下文菜单追溯以前版本产生同一个文件的追溯报告,它使用以前的版本作为上限,给出了你看到最后修改之前的文件状态追溯报告。上下文菜单显示修改启动差异察看器,显示在参考版本中的修改。上下文菜单显示日志从参考版本开始显示版本日志。

If you need a better visual indicator of where the oldest and newest changes are, select ViewColor age of lines. This will use a colour gradient to show newer lines in red and older lines in blue. The default colouring is quite light, but you can change it using the TortoiseBlame settings.

If you are using Merge Tracking, where lines have changed as a result of merging from another path, TortoiseBlame will show the revision and author of the last change in the original file rather than the revision where the merge took place. These lines are indicated by showing the revision and author in italics.

If you want to see the paths involved in the merge, select ViewMerge paths.

The settings for TortoiseBlame can be accessed using TortoiseSVNSettings... on the TortoiseBlame tab. Refer to “TortoiseBlame 的设置”一节.

追溯不同点

追溯报告的一个局限性就是它仅仅象显示一个特殊版本一样显示文件,并显示出修改每一行的最后一个人。有时候你想知道谁做了什么修改。你所需要的就是把差异和追溯报告结合起来。

在版本日志对话框里包含了以下几个选项支持你做这样的操作。

追溯版本

在顶部窗口,选择两个版本,然后选择上下文菜单追溯版本。它将取出两个版本的追溯数据,然后使用差异察看器比较这两个追溯文件。

追溯修改

Select one revision in the top pane, then pick one file in the bottom pane and select Context menuBlame changes. This will fetch the blame data for the selected revision and the previous revision, then use the diff viewer to compare the two blame files.

与工作副本比较并追溯

为一个单一文件显示日志,在上面的面板选择一个版本,然后选择上下文菜单与工作副本比较并追溯。这会为文件的选择版本和工作副本获取追溯数据,然后使用差异阅读器比较两份追溯文件。