Hi Elijah
On 04/04/2020 02:30, Elijah Newren via GitGitGadget wrote:
From: Elijah Newren <newren@xxxxxxxxx>
For more discussion about these hooks, their history relative to rebase,
and logical consistency between different types of operations, see
https://lore.kernel.org/git/CABPp-BG0bFKUage5cN_2yr2DkmS04W2Z9Pg5WcROqHznV3XBdw@xxxxxxxxxxxxxx/
and the links to some threads referenced therein.
Signed-off-by: Elijah Newren <newren@xxxxxxxxx>
---
git-rebase.txt: add another hook to the hooks section, and explain more
Changes since v1:
* Updated the wording of the last sentence as per Junio's suggestion.
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-749%2Fnewren%2Frebase-and-hooks-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-749/newren/rebase-and-hooks-v2
Pull-Request: https://github.com/git/git/pull/749
Range-diff vs v1:
1: 29a1ff520ba ! 1: 45a5c1c1ff9 git-rebase.txt: add another hook to the hooks section, and explain more
@@ Documentation/git-rebase.txt: Hooks
+originally implemented as shell scripts and happened to invoke other
+commands like 'git checkout' or 'git commit' that would call the
+hooks). Both backends should have the same behavior, though it is not
-+entirely clear which, if any, is correct. We will likely remove both
-+of these hooks in the future.
++entirely clear which, if any, is correct. We will likely make rebase
++stop calling either of these hooks in the future.
Interruptability
~~~~~~~~~~~~~~~~
Documentation/git-rebase.txt | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt
index f7a6033607f..5e0fcd4e9bd 100644
--- a/Documentation/git-rebase.txt
+++ b/Documentation/git-rebase.txt
@@ -684,9 +684,15 @@ Hooks
~~~~~
The apply backend has not traditionally called the post-commit hook,
-while the merge backend has. However, this was by accident of
-implementation rather than by design. Both backends should have the
-same behavior, though it is not clear which one is correct.
+while the merge backend has. In contrast, the apply backend has
+traditionally called the post-checkout hook while the merge backend
+has not.
This is not correct - both backends call the post-checkout hook, but the
merge backend suppresses any output from it - see
https://public-inbox.org/git/6c413abc-f48d-5a02-ac8b-09a0fa80b98d@xxxxxxxxx/
Best Wishes
Phillip
However, the calling of these hooks in both cases was by
+accident of implementation rather than by design (both backends were
+originally implemented as shell scripts and happened to invoke other
+commands like 'git checkout' or 'git commit' that would call the
+hooks). Both backends should have the same behavior, though it is not
+entirely clear which, if any, is correct. We will likely make rebase
+stop calling either of these hooks in the future.
Interruptability
~~~~~~~~~~~~~~~~
base-commit: 274b9cc25322d9ee79aa8e6d4e86f0ffe5ced925