Re: [QUESTION] Can I merge --continue with --no-verify
- From
Taylor Blau <me@ttaylorr.com>
- Date
- Oct 24, 2024, 16:54 UTC
- Message-ID
- <Zxp72aZ5U67pB4V7@nand.local>
- In-Reply-To
- <7038bb3a-2aad-4bde-bd46-f2bd2ef659d1@gmail.com>
On Thu, Oct 24, 2024 at 01:29:21PM +0530, Abhijeet Sonar wrote:
Show 19 quoted lines
> I recently found myself wanting to continue a merge after resolving
> conflicts without having the pre-commit hook run:
>
> git merge --continue --no-verify
>
> this fails and prints usage.
>
> Digging the source, I can see that in builtin/merge.c:1378 we do:
>
> if (continue_current_merge) {
> [...]
>
> if (orig_argc != 2)
> usage_msg_opt(_("--continue expects no arguments"),
> builtin_merge_usage, builtin_merge_options);
>
> I see why we would want this - the --continue flag makes the merge command
> perform an operation that is very different than what merge normally does
> without this option and therefore the usual options do not apply.Yeah, this looks like a bug to me. I wondered if '--no-verify --continue' would resolve the issue, but it won't, because we are comparing against orig_argc, which will be 2 in either case.
I suspect that this dates back to bc40ce4de6 (merge: --no-verify to bypass pre-merge-commit hook, 2019-08-07), likely as a result of 042e290da6 (merge: ensure '--abort' option takes no arguments, 2016-12-14), which came before it.
Probably we should update the logic here to work around the issue.
> However, I think it does make sense to allow --no-verify - it feels > very intuitive to use it when bypassing the pre-commit hook is desired > while continuing a merge.
Agreed.
Thanks, Taylor