本文字档正在编写中,内容可能随时变更,且可能无法准确反映 Apache™ Subversion® 软件的任何已发布版本。 将此页面添加书签或向他人推荐此页面可能不是一个明智的做法。 请访问 https://svnbook.subversion.org.cn/ 获取本书的稳定版本。

名称

start-commit — 提交开始通知。

概要

start-commit REPOS-PATH USER CAPABILITIES TXN-NAME

描述

start-commit 钩子在创建提交事务并设置其初始属性后立即运行。 它通常用作早期终止机制,避免潜在的冗长提交过程,该过程最终可能因用户缺乏提交权限或其他提交元数据验证失败而在后期阶段失败。

如果 start-commit 钩子程序返回非零退出值,则提交过程将停止,提交事务将被销毁,并且打印到 stderr 的任何内容都将被编组回客户端。

start-commit 钩子不适合评估特定提交的内容,因为它是在传输任何文件或目录更改信息之前调用的。 为此目的,请使用 pre-commit 钩子脚本(在本文档其他地方的 pre-commit 中进行了描述)。

[Note] 注意

在 Subversion 1.8 之前,Subversion 会在创建提交事务 之前 调用 start-commit 钩子。 脚本失败会导致该事务根本没有被创建。 但是,这在 Subversion 1.8 中发生了变化,允许 start-commit 钩子的实现访问事务的属性,其中可能包括(除其他事项外)与提交相关的修订日志。

输入参数

按顺序传递给钩子程序的命令行参数是

  1. 仓库路径

  2. 尝试提交的经过身份验证的用户名

  3. 客户端传递给服务器的功能的冒号分隔列表,包括 depthmergeinfolog-revprops(Subversion 1.5 中新增)

  4. 提交事务名称(Subversion 1.8 中新增)

常见用途

访问控制(例如,出于某种原因暂时锁定提交)。

一种只允许具有某些功能的客户端访问的方法。

TortoiseSVN 官方中文版 1.14.7 发布