From: Josh Steadmon <steadmon@google.com> To: git@vger.kernel.org Cc: gitster@pobox.com, git@grubix.eu, stefanbeller@gmail.com, martin.agren@gmail.com Subject: [PATCH v2 0/4] pre-merge hook Date: Thu, 18 Jul 2019 16:56:15 -0700 Message-ID: <cover.1563490164.git.steadmon@google.com> (raw) In-Reply-To: <xmqqbml6pgfm.fsf@gitster.mtv.corp.google.com> (I'm resending this cover letter with fixed Message-Id so that threading @ public-inbox works properly. Sorry for the noise.) I would like to revive discussion on this series; I have addressed most of the review comments on the original series sent by Michael, with the following exceptions: * Martin's objection on 1/4 that the sample hook would always exit successfully is (I believe) incorrect. To test this, I ran "/bin/true && exec test 0 == 1" in a /bin/sh subshell, and it correctly had a non-zero exit status. * I'm not sure that I understand Stefan's objections on 4/4 regarding the hook's exit status. I am also not familiar with "the same (unsolved) issues [as] commit-msg". I have noted my changes in each commit message in "[js: ...]" sections. Michael's original series description is below: Now that f8b863598c ("builtin/merge: honor commit-msg hook for merges", 2017-09-07) has landed, merge is getting closer to behaving like commit, which is important because both are used to complete merges (automatic vs. non-automatic). This series revives an old suggestion of mine to make merge honor pre-commit hook or a separate pre-merge hook. Since pre-commit does not receive any arguments (which the hook could use tell between commit and merge) and in order to keep existing behaviour (as opposed to the other patch) this series introduces a pre-merge hook, with a sample hook that simply calls the pre-commit hook. commit and merge have very similar code paths. f8b863598c implemented "--no-verify" for merge differently from the existing implementation in commit. 2/4 changes that and could be first in this series, with the remaining 3 squashed into 2 commits or 1. I've been rebasing and using this series for years now, 2/4 is the new-comer which fixed the breakage from f8b863598c that I encountered because of the no-verify implementation. Michael J Gruber (4): git-merge: Honor pre-merge hook merge: do no-verify like commit merge: --no-verify to bypass pre-merge hook t7503: add tests for pre-merge-hook Documentation/git-merge.txt | 2 +- Documentation/githooks.txt | 7 ++ Documentation/merge-options.txt | 4 ++ builtin/merge.c | 18 ++++- ...> t7503-pre-commit-and-pre-merge-hooks.sh} | 66 ++++++++++++++++++- templates/hooks--pre-merge.sample | 13 ++++ 6 files changed, 105 insertions(+), 5 deletions(-) rename t/{t7503-pre-commit-hook.sh => t7503-pre-commit-and-pre-merge-hooks.sh} (67%) create mode 100755 templates/hooks--pre-merge.sample -- 2.22.0.657.g960e92d24f-goog
next prev parent reply other threads:[~2019-07-18 23:56 UTC|newest] Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-09-22 12:04 [PATCH " 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 [this message] 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 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=cover.1563490164.git.steadmon@google.com \ --to=steadmon@google.com \ --cc=git@grubix.eu \ --cc=git@vger.kernel.org \ --cc=gitster@pobox.com \ --cc=martin.agren@gmail.com \ --cc=stefanbeller@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
git@vger.kernel.org list mirror (unofficial, one of many) This inbox may be cloned and mirrored by anyone: git clone --mirror https://public-inbox.org/git git clone --mirror http://ou63pmih66umazou.onion/git git clone --mirror http://czquwvybam4bgbro.onion/git git clone --mirror http://hjrcffqmbrq6wope.onion/git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V1 git git/ https://public-inbox.org/git \ git@vger.kernel.org public-inbox-index git Example config snippet for mirrors. Newsgroups are available over NNTP: nntp://news.public-inbox.org/inbox.comp.version-control.git nntp://ou63pmih66umazou.onion/inbox.comp.version-control.git nntp://czquwvybam4bgbro.onion/inbox.comp.version-control.git nntp://hjrcffqmbrq6wope.onion/inbox.comp.version-control.git nntp://news.gmane.io/gmane.comp.version-control.git note: .onion URLs require Tor: https://www.torproject.org/ code repositories for the project(s) associated with this inbox: https://80x24.org/mirrors/git.git AGPL code for this site: git clone https://public-inbox.org/public-inbox.git