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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).