本文档正在撰写中,内容可能随时更改,并且可能无法准确地描述 Apache™ Subversion® 软件的任何已发布版本。为本文档添加书签或将它推荐给其他人可能不是明智之举。请访问 http://svnbooks.subversion.org.cn/ 获取本文档的稳定版本。
svnlook 是一个命令行工具,用于检查 Subversion 仓库的不同方面。它不会对仓库进行任何更改 - 它只用于 “窥视”。 svnlook 通常由仓库钩子使用,但仓库管理员可能发现它对于诊断目的很有用。
由于 svnlook 通过直接访问仓库来工作(因此只能在拥有仓库的机器上使用),因此它使用路径而不是 URL 来引用仓库。
如果没有指定版本或事务,svnlook 默认使用仓库中最年轻(最新)的版本。
在 svnlook 中的选项是全局的,就像它们在 svn 和 svnadmin 中一样;但是,大多数选项只适用于一个子命令,因为 svnlook 的功能(故意地)范围有限。
svnlook 选项
--copy-info
使 svnlook changed 显示详细的复制源信息。
--diff-cmd
CMD
指定要用于显示文件之间差异的外部程序。当 svnlook diff 在没有此选项的情况下调用时,它使用 Subversion 的内部差异引擎,该引擎默认情况下提供统一的差异。如果您想使用外部差异程序,请使用 --diff-cmd
。然后,您可以使用 --extensions
(-x
) 选项将选项传递给指定的程序。
--diff-copy-from
打印复制项与复制源的差异。
--extensions
(-x
) ARG
指定 Subversion 在执行差异计算时应进行的自定义操作。有效的扩展包括
--ignore-space-change
(-b
)
忽略空白量更改。
--ignore-all-space
(-w
)
忽略所有空白。
--ignore-eol-style
忽略 EOL(行尾)样式的更改。
--show-c-function
(-p
)
在 diff 输出中显示 C 函数名称。
--unified
(-u
)
显示三行统一 diff 上下文。
默认值为 -u
。
请注意,当 Subversion 被配置为调用外部 diff 命令时,--extensions
(-x
) 选项的值不受之前提到的选项的限制,但可能是 任何 Subversion 应传递给该命令的额外参数。如果您希望传递多个参数,则必须将它们全部括在引号中。
--full-paths
使 svnlook tree 显示完整路径而不是分层、缩进的路径组件。
--ignore-properties
指示 svnlook diff 抑制属性更改的输出。
--limit
(-l
) ARG
将输出限制为最多 ARG
个项目。
--no-diff-deleted
阻止 svnlook diff 打印已删除文件的差异。在事务/版本中删除文件时的默认行为是打印与您保留文件但删除所有内容时相同的差异。
--no-diff-added
阻止 svnlook diff 打印已添加文件的差异。添加文件时的默认行为是打印与您添加了现有(空)文件的整个内容时相同的差异。
--non-recursive
(-N
)仅对单个目录进行操作。
--properties-only
指示 svnlook diff 仅显示属性更改。
--revision
(-r
) REV
指定您要检查的特定版本号。
--revprop
对版本属性而不是特定于文件或目录的属性进行操作。此选项要求您还使用 --revision
(-r
) 选项传递版本。
--show-inherited-props
与 svnlook propget 和 svnlook proplist 一起使用,以显示路径继承的版本化属性。
--transaction
(-t
) ID
指定您要检查的特定事务 ID。
--show-ids
显示文件系统树中每个路径的文件系统节点版本 ID。
--verbose
(-v
)详细模式。例如,当与 svnlook proplist 一起使用时,这将使 Subversion 不仅显示属性列表,而且还显示它们的值。
--xml
以 XML 格式打印输出。