From: Taylor Blau Date: Thu, 24 Oct 2024 16:54:49 GMT Subject: Re: [QUESTION] Can I merge --continue with --no-verify Message-ID: In-Reply-To: <7038bb3a-2aad-4bde-bd46-f2bd2ef659d1@gmail.com> On Thu, Oct 24, 2024 at 01:29:21PM +0530, Abhijeet Sonar wrote: > 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