git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: "Martin Ågren" <martin.agren@gmail.com>
To: Josh Steadmon <steadmon@google.com>
Cc: Git Mailing List <git@vger.kernel.org>,
	Junio C Hamano <gitster@pobox.com>,
	Michael J Gruber <git@grubix.eu>
Subject: Re: [PATCH v3 3/4] git-merge: honor pre-merge-commit hook
Date: Fri, 2 Aug 2019 11:45:05 +0200	[thread overview]
Message-ID: <CAN0heSo30-ng223sJTvz5_Go+-Yu=h=qvFg0KOhguLsFVE7b2Q@mail.gmail.com> (raw)
In-Reply-To: <61b989ff16eadfd0508e10f71c9b318eb15ce2a7.1564695893.git.steadmon@google.com>

On Fri, 2 Aug 2019 at 00:20, Josh Steadmon <steadmon@google.com> wrote:

> diff --git a/Documentation/githooks.txt b/Documentation/githooks.txt
> index 82cd573776..7c4c994858 100644
> --- a/Documentation/githooks.txt
> +++ b/Documentation/githooks.txt
> @@ -103,6 +103,13 @@ The default 'pre-commit' hook, when enabled--and with the
>  `hooks.allownonascii` config option unset or set to false--prevents
>  the use of non-ASCII filenames.
>
> +pre-merge-commit
> +~~~~~~~~~~~~~~~~
> +
> +This hook is invoked by 'git merge' when doing an automatic merge
> +commit; it is equivalent to 'pre-commit' for a non-automatic commit
> +for a merge.
> +

I'm not sure everyone understands what an "automatic merge commit" is.
(Is it an automatic "merge commit", or an "automatic merge" commit? Or
sort of both?) And I'm not sure exactly what to infer from the
"equivalence". I happen to know that the statement about the default
hook can only be half-carried over. And I'm not sure what to infer from
"All the git commit hooks are invoked with the environment variable
...".

Is the below suggestion 1) correct, 2) readable?

  This hook is invoked by linkgit:git-merge[1], and can be bypassed
  with the `--no-verify` option.  It takes no parameters, and is
  invoked after the merge has been carried out successfully and before
  obtaining the proposed commit log message to
  make a commit.  Exiting with a non-zero status from this script
  causes the `git merge` command to abort before creating a commit.

  The default 'pre-merge-commit' hook, when enabled, runs the
  'pre-commit' hook, if the latter is enabled.

  This hook is invoked with the environment variable
  `GIT_EDITOR=:` if the command will not bring up an editor
  to modify the commit message.

  If the merge cannot be carried out automatically, the conflicts
  need to be resolved and the result committed separately (see
  linkgit:git-merge[1]). At that point, this hook will not be executed,
  but the 'pre-commit' hook will, if it is enabled.

(If you use this or something like it, notice how this already mentions
`--no-verify`...)

> +test_expect_success 'root commit' '
> +       echo "root" > file &&
> +       git add file &&
> +       git commit -m "zeroth" &&
> +       git checkout -b side &&
> +       echo "foo" > foo &&
> +       git add foo &&
> +       git commit -m "make it non-ff" &&
> +       git checkout master
> +'

You got rid of loads of "> file" in patch 1/4, so it seems unfortunate
to introduce a few here. ;-)


Martin

  reply	other threads:[~2019-08-02  9:51 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-22 12:04 [PATCH 0/4] pre-merge hook Michael J Gruber
2017-09-22 12:04 ` [PATCH 1/4] git-merge: Honor " Michael J Gruber
2017-09-22 19:52   ` Stefan Beller
2017-09-23  0:04   ` Martin Ågren
2017-09-22 12:04 ` [PATCH 2/4] merge: do no-verify like commit Michael J Gruber
2017-09-22 19:55   ` Stefan Beller
2017-09-22 12:04 ` [PATCH 3/4] merge: --no-verify to bypass pre-merge hook Michael J Gruber
2017-09-23 23:48   ` Junio C Hamano
2017-09-25 10:54     ` Michael J Gruber
2017-09-22 12:04 ` [PATCH 4/4] t7503: add tests for pre-merge-hook Michael J Gruber
2017-09-22 20:01   ` Stefan Beller
2017-10-02  5:54 ` [PATCH 0/4] pre-merge hook Junio C Hamano
2017-10-02 16:59   ` Stefan Beller
2017-10-17  4:05 ` Junio C Hamano
2019-07-18 22:57   ` [PATCH v2 " Josh Steadmon
2019-07-18 23:56   ` Josh Steadmon
2019-07-18 22:57     ` [PATCH v2 1/4] git-merge: Honor " Josh Steadmon
2019-07-29 20:00       ` Martin Ågren
2019-07-18 22:57     ` [PATCH v2 2/4] merge: do no-verify like commit Josh Steadmon
2019-07-18 22:57     ` [PATCH v2 3/4] merge: --no-verify to bypass pre-merge hook Josh Steadmon
2019-07-29 20:02       ` Martin Ågren
2019-07-29 23:33         ` Josh Steadmon
2019-07-18 22:57     ` [PATCH v2 4/4] t7503: add tests for pre-merge-hook Josh Steadmon
2019-07-29 20:04       ` Martin Ågren
2019-07-29 23:43         ` Josh Steadmon
2019-07-30  7:13           ` Martin Ågren
2019-07-31 18:34             ` Josh Steadmon
2019-07-29 20:09     ` [PATCH v2 0/4] pre-merge hook Martin Ågren
2019-07-29 23:29       ` Josh Steadmon
2019-07-29 20:29     ` Martin Ågren
2019-07-29 23:39       ` Josh Steadmon
2019-08-01 22:20     ` [PATCH v3 0/4] pre-merge-commit hook Josh Steadmon
2019-08-01 22:20       ` [PATCH v3 1/4] t7503: verify proper hook execution Josh Steadmon
2019-08-02  9:43         ` Martin Ågren
2019-08-01 22:20       ` [PATCH v3 2/4] merge: do no-verify like commit Josh Steadmon
2019-08-01 22:20       ` [PATCH v3 3/4] git-merge: honor pre-merge-commit hook Josh Steadmon
2019-08-02  9:45         ` Martin Ågren [this message]
2019-08-02 22:20           ` Josh Steadmon
2019-08-01 22:20       ` [PATCH v3 4/4] merge: --no-verify to bypass " Josh Steadmon
2019-08-02  9:56       ` [PATCH v3 0/4] " Martin Ågren
2019-08-02  9:56         ` [PATCH 1/5] t7503: use "&&" in "test_when_finished" rather than ";" Martin Ågren
2019-08-02  9:56         ` [PATCH 2/5] t7503: avoid touch when mtime doesn't matter Martin Ågren
2019-08-02  9:56         ` [PATCH 3/5] t7503: simplify file-juggling Martin Ågren
2019-08-02  9:56         ` [PATCH 4/5] t7503: don't create "actual_hooks" for later appending Martin Ågren
2019-08-02  9:56         ` [PATCH 5/5] t7503: test failing merge with both hooks available Martin Ågren
2019-08-02 22:18         ` [PATCH v3 0/4] pre-merge-commit hook Josh Steadmon
2019-08-05 22:43       ` [PATCH v4 " Josh Steadmon
2019-08-05 22:43         ` [PATCH v4 1/4] t7503: verify proper hook execution Josh Steadmon
2019-08-06 18:14           ` Junio C Hamano
2019-08-07 18:11             ` Josh Steadmon
2019-08-05 22:43         ` [PATCH v4 2/4] merge: do no-verify like commit Josh Steadmon
2019-08-05 22:43         ` [PATCH v4 3/4] git-merge: honor pre-merge-commit hook Josh Steadmon
2019-08-05 22:43         ` [PATCH v4 4/4] merge: --no-verify to bypass " Josh Steadmon
2019-08-07 18:57         ` [PATCH v5 0/4] " Josh Steadmon
2019-08-07 18:57           ` [PATCH v5 1/4] t7503: verify proper hook execution Josh Steadmon
2019-08-07 18:57           ` [PATCH v5 2/4] merge: do no-verify like commit Josh Steadmon
2019-08-07 18:57           ` [PATCH v5 3/4] git-merge: honor pre-merge-commit hook Josh Steadmon
2019-08-07 18:57           ` [PATCH v5 4/4] merge: --no-verify to bypass " Josh Steadmon
2019-08-08 13:08           ` [PATCH v5 0/4] " Martin Ågren

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

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAN0heSo30-ng223sJTvz5_Go+-Yu=h=qvFg0KOhguLsFVE7b2Q@mail.gmail.com' \
    --to=martin.agren@gmail.com \
    --cc=git@grubix.eu \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=steadmon@google.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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).