11

可能重复:
Subversion 中特定代码行的更改历史?

使用 SVN 和/或 Tortoise SVN(或任何其他 SVN 工具,真的),是否可以查看文件特定行的历史记录?

最近,我多次遇到文件中的一行并希望找到与其创建相关联的日志条目(要么确定代码行的历史,要么获得更大的上下文以了解添加它的原因) .

现在我正在手动执行此操作。我可以显示该文件的日志,返回一个方法,看看有问题的行是否存在。如果是,我会更进一步。如果不是,我去看看更新的版本。重复直到找到进行更改的修订。

不用说,这个过程充其量是尴尬的,尤其是对于特别旧的文件。有谁知道实现这一目标的自动化方法?

4

5 回答 5

4

我不确定单独责备是否能满足提问者的需求。

我发现 TortoiseSVN 命令“责备更改”很方便。它归咎于两个修订版,并在 diff 工具中将它们一起比较。

结果为您提供当前行的内容、目标修订版的内容以及修改者。这在您选择两个连续的修订版时效果最佳。

您可以通过使用“显示日志”来访问它,右键单击下部窗格中的文件并选择“责备更改”。

此外,对于任何不喜欢“责备”一词的人,您可以运行“svn赞美”,得到相同的结果。:)

于 2008-10-20T19:55:41.980 回答
2

更具体地说,您可以使用带有一些参数的“svn blame”来查看特定的修订。每个文件可能很大...svn blame -r REV#

迭代多个修订版(如果您从命令行工作)是一个快速脚本。

于 2008-10-20T19:03:43.583 回答
1

使用 TortoiseSVN Blame 上下文菜单选项 - 它有一个非常好的界面来探索各个行的历史。

于 2008-10-20T18:58:27.633 回答
1

我更喜欢使用svn annotateover svn blame。我希望其他人也这样做。:-(

于 2008-10-20T19:39:40.907 回答
0

svn blame

于 2008-10-20T18:54:53.447 回答