From: "Elijah Newren via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: jrnieder@gmail.com, emilyshaffer@google.com,
phillip.wood123@gmail.com, Johannes.Schindelin@gmx.de,
Elijah Newren <newren@gmail.com>,
Elijah Newren <newren@gmail.com>
Subject: [PATCH v3] git-rebase.txt: add another hook to the hooks section, and explain more
Date: Sun, 05 Apr 2020 00:00:17 +0000 [thread overview]
Message-ID: <pull.749.v3.git.git.1586044818132.gitgitgadget@gmail.com> (raw)
In-Reply-To: <pull.749.v2.git.git.1585963816430.gitgitgadget@gmail.com>
From: Elijah Newren <newren@gmail.com>
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@mail.gmail.com/
and the links to some threads referenced therein.
Signed-off-by: Elijah Newren <newren@gmail.com>
---
git-rebase.txt: add another hook to the hooks section, and explain more
Changes since v2:
* Corrections to the text pointed out by Phillip.
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-749%2Fnewren%2Frebase-and-hooks-v3
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-749/newren/rebase-and-hooks-v3
Pull-Request: https://github.com/git/git/pull/749
Range-diff vs v2:
1: 45a5c1c1ff9 ! 1: 22fb6ff7080 git-rebase.txt: add another hook to the hooks section, and explain more
@@ Documentation/git-rebase.txt: Hooks
-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. 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.
++while the merge backend has. Both have called the post-checkout hook,
++though the merge backend has squelched its output. Further, both
++backends only call the post-checkout hook with the starting point
++commit of the rebase, not the intermediate commits nor the final
++commit. In each case, the calling of these hooks 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
~~~~~~~~~~~~~~~~
Documentation/git-rebase.txt | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt
index f7a6033607f..5a756b5b3a6 100644
--- a/Documentation/git-rebase.txt
+++ b/Documentation/git-rebase.txt
@@ -684,9 +684,17 @@ 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. Both have called the post-checkout hook,
+though the merge backend has squelched its output. Further, both
+backends only call the post-checkout hook with the starting point
+commit of the rebase, not the intermediate commits nor the final
+commit. In each case, the calling of these hooks 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
--
gitgitgadget
prev parent reply other threads:[~2020-04-05 0:00 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-03 4:35 [PATCH] git-rebase.txt: add another hook to the hooks section, and explain more Elijah Newren via GitGitGadget
2020-04-03 19:35 ` Junio C Hamano
2020-04-03 19:52 ` Elijah Newren
2020-04-04 1:30 ` [PATCH v2] " Elijah Newren via GitGitGadget
2020-04-04 9:33 ` Phillip Wood
2020-04-05 0:00 ` Elijah Newren via GitGitGadget [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=pull.749.v3.git.git.1586044818132.gitgitgadget@gmail.com \
--to=gitgitgadget@gmail.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=emilyshaffer@google.com \
--cc=git@vger.kernel.org \
--cc=jrnieder@gmail.com \
--cc=newren@gmail.com \
--cc=phillip.wood123@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.