本手册旨在描述 Subversion 1.6.x 系列。如果您运行的是其他版本的 Subversion,我们强烈建议您访问 https://svnbook.subversion.org.cn/,并查阅与您使用的 Subversion 版本相符的手册版本。

名称

svn blame (责备,标注,ann) — 为指定文件或 URL 显示内联作者和版本信息。

语法

svn blame TARGET[@REV]...

描述

为指定文件或 URL 显示内联作者和版本信息。每行文本的开头都标注了作者(用户名)和最后修改该行的版本号。

选项

--extensions (-x) ARG
--force
--incremental
--revision (-r) REV
--use-merge-history (-g)
--verbose (-v)
--xml

示例

如果您想查看测试仓库中 readme.txt 的标注源代码

$ svn blame http://svn.red-bean.com/repos/test/readme.txt
     3      sally This is a README file.
     5      harry You should read this.

即使 svn blame 显示 Harry 在版本 5 中最后修改了 readme.txt,您也需要仔细检查该版本到底修改了什么内容,以确保 Harry 确实修改了该行的 上下文 — 他可能只调整了空格。

如果您使用 --xml 选项,则可以获取描述标注的 XML 输出,但不会显示行本身的内容。

$ svn blame --xml http://svn.red-bean.com/repos/test/readme.txt
<?xml version="1.0"?>
<blame>
<target
   path="readme.txt">
<entry
   line-number="1">
<commit
   revision="3">
<author>sally</author>
<date>2008-05-25T19:12:31.428953Z</date>
</commit>
</entry>
<entry
   line-number="2">
<commit
   revision="5">
<author>harry</author>
<date>2008-05-29T03:26:12.293121Z</date>
</commit>
</entry>
</target>
</blame>