手册

是谁修改了哪一行?

有时您不仅需要知道哪些行已更改,还需要知道文件中具体是谁更改了特定行。这时,TortoiseSVNBlame... 命令(有时也称为 annotate 命令)就派上用场了。

此命令列出文件中每一行的作者和该行被更改的版本。

文件追溯

图 4.64. 注释 / 追溯对话框

The Annotate / Blame Dialog


如果您对早期版本的更改不感兴趣,您可以设置追溯应该开始的版本。如果您想要追溯每个版本,请将其设置为 1

默认情况下,追溯文件使用 TortoiseBlame 查看,它会突出显示不同的版本,以便于阅读。如果您希望打印或编辑追溯文件,请选择使用文本查看器查看追溯

您可以指定处理行尾和空格更改的方式。这些选项在名为“行尾和空格选项”的章节中描述。默认行为是将所有空格和行尾差异视为实际更改,但如果您想忽略缩进更改并查找原始作者,您可以在此处选择合适的选项。

如果您愿意,也可以包含合并信息,尽管此选项可能需要更长的时间才能从服务器检索。当行从另一个源合并时,追溯信息会显示更改在原始源中所做的版本以及合并到此文件中的版本。

一旦您按下 OK,TortoiseSVN 就会开始检索数据以创建追溯文件。追溯过程完成后,结果将写入临时文件,您可以查看结果。

图 4.65. TortoiseBlame

TortoiseBlame


TortoiseBlame 包含在 TortoiseSVN 中,使追溯文件更易于阅读。当您将鼠标悬停在追溯信息列中的某一行上时,所有具有相同版本的行都会以较深的背景显示。来自其他版本但由同一作者更改的行以浅色背景显示。如果您的显示器设置为 256 色模式,则着色可能无法清晰地工作。

如果您在某一行上单击鼠标左键,则所有具有相同版本的行都会被突出显示,而来自其他版本但由同一作者更改的行则以较浅的颜色突出显示。这种突出显示是粘性的,允许您移动鼠标而不会丢失突出显示。再次单击该版本以关闭突出显示。

当鼠标悬停在追溯信息列上时,修订注释(日志消息)会显示在提示框中。如果您想复制该版本的日志消息,请使用在追溯信息列上单击鼠标右键时出现的上下文菜单。

您可以使用 编辑查找... 在追溯报告中搜索。这允许您搜索版本号、作者和文件本身的内容。日志消息不包含在搜索中 - 您应该使用日志对话框来搜索这些消息。

您还可以使用 编辑转到行... 跳转到特定的行号。

当鼠标位于追溯信息列上时,上下文菜单可用,它有助于比较版本和检查历史记录,使用鼠标下方的行的版本号作为参考。上下文菜单追溯上一版本 为同一文件生成追溯报告,但使用上一版本作为上限。上下文菜单显示更改 启动您的差异查看器,显示引用的版本中更改的内容。上下文菜单显示日志 显示版本日志对话框,从引用的版本开始。

如果您需要更好地视觉指示最旧和最新更改的位置,请选择 查看线条颜色年龄。这将使用颜色渐变来显示红色表示较新的行,蓝色表示较旧的行。默认着色非常浅,但您可以使用 TortoiseBlame 设置进行更改。

如果您正在使用合并跟踪,并且在开始追溯时请求了合并信息,则合并的行会略有不同地显示。如果某一行因从另一个路径合并而发生更改,TortoiseBlame 将显示原始文件中上次更改的版本和作者,而不是发生合并的版本。这些行通过以斜体显示版本和作者来指示。当您将鼠标悬停在追溯信息列上时,合并发生的版本会单独显示在工具提示中。如果您不希望以这种方式显示合并的行,请在开始追溯时取消选中包含合并信息复选框。

如果您想查看合并中涉及的路径,请选择 查看合并路径。这将显示该行上次更改的路径,不包括合并导致的更改。

追溯信息中显示的版本表示该行内容发生更改的最后一个版本。如果文件是通过复制另一个文件创建的,那么在您更改某一行之前,其追溯版本将显示原始源文件中的最后一次更改,而不是进行复制的版本。这也适用于与合并信息一起显示的路径。该路径显示对该行进行最后一次更改的存储库位置。

可以使用 TortoiseSVN设置... 在 TortoiseBlame 选项卡上访问 TortoiseBlame 的设置。请参阅名为“TortoiseBlame 设置”的部分。

追溯差异

追溯报告的局限性之一是它仅显示特定版本中的文件以及最后更改每一行的人。有时您想知道进行了哪些更改,以及是谁进行的更改。如果您在 TortoiseBlame 中右键单击一行,则会有一个上下文菜单项来显示在该版本中所做的更改。但是,如果您想同时查看更改和追溯信息,则需要差异报告和追溯报告的组合。

版本日志对话框包含几个允许您执行此操作的选项。

追溯版本

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

追溯更改

在顶部窗格中选择一个版本,然后在底部窗格中选择一个文件,然后选择 上下文菜单追溯更改。这将获取所选版本和上一版本的追溯数据,然后使用差异查看器比较两个追溯文件。

与工作 BASE 进行比较和追溯

显示单个文件的日志,然后在顶部窗格中选择单个版本,然后选择 上下文菜单与工作 BASE 进行比较和追溯。这将获取所选版本的追溯数据以及工作 BASE 中文件的追溯数据,然后使用差异查看器比较两个追溯文件。

TortoiseSVN 主页