[v2] git-rebase.txt: add another hook to the hooks section, and explain more
diff mbox series

Message ID pull.749.v2.git.git.1585963816430.gitgitgadget@gmail.com
State New
Headers show
Series
  • [v2] git-rebase.txt: add another hook to the hooks section, and explain more
Related show

Commit Message

Sibi Siddharthan via GitGitGadget April 4, 2020, 1:30 a.m. UTC
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 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(-)


base-commit: 274b9cc25322d9ee79aa8e6d4e86f0ffe5ced925

Comments

Phillip Wood April 4, 2020, 9:33 a.m. UTC | #1
Hi Elijah

On 04/04/2020 02:30, Elijah Newren via GitGitGadget wrote:
> 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 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@gmail.com/

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
>

Patch
diff mbox series

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.  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
 ~~~~~~~~~~~~~~~~