本手册旨在描述 Subversion 1.6.x 系列。如果您正在运行不同版本的 Subversion,强烈建议您访问 https://svnbook.subversion.org.cn/ 并查阅与您的 Subversion 版本相匹配的手册版本。

名称

pre-commit — 提交完成之前的通知。

描述

在提交事务提升为新版本之前,会运行 pre-commit 钩子程序。通常,此钩子程序用于防止因内容或位置导致的提交失败(例如,您的站点可能要求所有对特定分支的提交都包含来自错误跟踪器的票证编号,或者要求传入的日志消息不能为空)。

如果 pre-commit 钩子程序返回非零退出值,则提交将中止,提交事务将被移除,并且打印到 stderr 的任何内容都将被传回客户端。

输入参数

传递给钩子程序的命令行参数(按顺序)为:

  1. 仓库路径

  2. 提交事务名称

此外,Subversion 会通过标准输入将提交客户端提供的任何锁令牌传递给钩子脚本。如果存在,这些令牌将格式化为包含字符串 LOCK-TOKENS: 的单行,后面跟着其他行(每个锁令牌一行),这些行包含锁令牌信息。每个锁令牌信息行都包含与锁相关的 URI 编码的仓库文件系统路径,后面跟着管道 (|) 分隔符,最后是锁令牌字符串。

常见用法

变更验证和控制