diff options
author | Junio C Hamano <gitster@pobox.com> | 2024-05-23 12:16:32 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2024-05-23 12:16:32 -0700 |
commit | d414f4cb00a2ad73aef33b3df685909afc424c96 (patch) | |
tree | e84f0d11bdce44e43ff5e9efd6a5a89fdda91d05 /githooks.txt | |
parent | 22f0bfd6d8f75ec78c2c065c282fbf6af5a6a14e (diff) | |
download | git-htmldocs-master.tar.gz |
Diffstat (limited to 'githooks.txt')
-rw-r--r-- | githooks.txt | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/githooks.txt b/githooks.txt index ee9b92c90..06e997131 100644 --- a/githooks.txt +++ b/githooks.txt @@ -486,7 +486,7 @@ reference-transaction This hook is invoked by any Git command that performs reference updates. It executes whenever a reference transaction is prepared, committed or aborted and may thus get called multiple times. The hook -does not cover symbolic references (but that may change in the future). +also supports symbolic reference updates. The hook takes exactly one argument, which is the current state the given reference transaction is in: @@ -503,16 +503,20 @@ given reference transaction is in: For each reference update that was added to the transaction, the hook receives on standard input a line of the format: - <old-oid> SP <new-oid> SP <ref-name> LF + <old-value> SP <new-value> SP <ref-name> LF -where `<old-oid>` is the old object name passed into the reference -transaction, `<new-oid>` is the new object name to be stored in the +where `<old-value>` is the old object name passed into the reference +transaction, `<new-value>` is the new object name to be stored in the ref and `<ref-name>` is the full name of the ref. When force updating the reference regardless of its current value or when the reference is -to be created anew, `<old-oid>` is the all-zeroes object name. To +to be created anew, `<old-value>` is the all-zeroes object name. To distinguish these cases, you can inspect the current value of `<ref-name>` via `git rev-parse`. +For symbolic reference updates the `<old_value>` and `<new-value>` +fields could denote references instead of objects. A reference will be +denoted with a 'ref:' prefix, like `ref:<ref-target>`. + The exit status of the hook is ignored for any state except for the "prepared" state. In the "prepared" state, a non-zero exit status will cause the transaction to be aborted. The hook will not be called with |