threads / patch / 52143

v2Documentation/git-bisect.txt: add --no-ff to merge command

Subject: [PATCH v2] Documentation/git-bisect.txt: add --no-ff to merge command

## tl;dr

3 messages between Oct 28, 2019 and Oct 29, 2019. Diffs are folded; open one to read it.

replies: 2people: 3as markdown or json

Mihail Atanassov· Oct 28, 2019, 22:01 UTC · lore

The hotfix application example uses `git merge --no-commit` to apply temporary changes to the working tree during a bisect operation. In some situations this can be a fast-forward and `merge` will apply the hotfix branch's commits regardless of `--no-commit` (as documented in the `git merge` manual).

In the pathological case this will make a `git bisect run` invocation loop indefinitely between the first bisect step and the fast-forwarded post-merge HEAD.

Add `--no-ff` to the merge command to avoid this issue.
Changes since v1:
 - removed comment change
Signed-off-by: Mihail Atanassov <m.atanassov92@gmail.com>
---
 Documentation/git-bisect.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Show changes to Documentation/git-bisect.txt +1 −1
diff --git a/Documentation/git-bisect.txt b/Documentation/git-bisect.txt
index 4b45d837a7..7586c5a843 100644
--- a/Documentation/git-bisect.txt
+++ b/Documentation/git-bisect.txt
@@ -413,7 +413,7 @@ $ cat ~/test.sh
 
 # tweak the working tree by merging the hot-fix branch
 # and then attempt a build
-if	git merge --no-commit hot-fix &&
+if	git merge --no-commit --no-ff hot-fix &&
 	make
 then
 	# run project specific test and report its status
-- 
2.16.4
Jonathan Nieder· Oct 28, 2019, 23:54 UTC · re: Mihail Atanassov · lore

Re: [PATCH v2] Documentation/git-bisect.txt: add --no-ff to merge command

Mihail Atanassov wrote:
Show 11 quoted lines
> The hotfix application example uses `git merge --no-commit` to apply
> temporary changes to the working tree during a bisect operation. In some
> situations this can be a fast-forward and `merge` will apply the hotfix
> branch's commits regardless of `--no-commit` (as documented in the `git
> merge` manual).
>
> In the pathological case this will make a `git bisect run` invocation
> loop indefinitely between the first bisect step and the fast-forwarded
> post-merge HEAD.
>
> Add `--no-ff` to the merge command to avoid this issue.
Makes sense.
> Changes since v1:
>  - removed comment change

This kind of note, that doesn't need to be recorded in the Git commit history, should go after the "---" marker. See [1]:

  You often want to add additional explanation about the patch, other
  than the commit message itself. Place such "cover letter" material
  between the three-dash line and the diffstat. For patches requiring
  multiple iterations of review and discussion, an explanation of
  changes between each iteration can be kept in Git-notes and inserted
  automatically following the three-dash line via `git format-patch
  --notes`.
> Signed-off-by: Mihail Atanassov <m.atanassov92@gmail.com>
> ---
>  Documentation/git-bisect.txt | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
Except for that one nit,
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Thanks.
[1] https://www.kernel.org/pub/software/scm/git/docs/SubmittingPatches.html#send-patches
Junio C Hamano· Oct 29, 2019, 02:28 UTC · re: Jonathan Nieder · lore

Re: [PATCH v2] Documentation/git-bisect.txt: add --no-ff to merge command

Jonathan Nieder <jrnieder@gmail.com> writes:
Show 21 quoted lines
> Mihail Atanassov wrote:
>
>> The hotfix application example uses `git merge --no-commit` to apply
>> temporary changes to the working tree during a bisect operation. In some
>> situations this can be a fast-forward and `merge` will apply the hotfix
>> branch's commits regardless of `--no-commit` (as documented in the `git
>> merge` manual).
>>
>> In the pathological case this will make a `git bisect run` invocation
>> loop indefinitely between the first bisect step and the fast-forwarded
>> post-merge HEAD.
>>
>> Add `--no-ff` to the merge command to avoid this issue.
>
> Makes sense.
>
>> Changes since v1:
>>  - removed comment change
>
> This kind of note, that doesn't need to be recorded in the Git commit
> history, should go after the "---" marker.  See [1]:

Thanks for mentoring. No need to resend as I can edit it out while queuing.

Thanks both.
Show 20 quoted lines
>
>   You often want to add additional explanation about the patch, other
>   than the commit message itself. Place such "cover letter" material
>   between the three-dash line and the diffstat. For patches requiring
>   multiple iterations of review and discussion, an explanation of
>   changes between each iteration can be kept in Git-notes and inserted
>   automatically following the three-dash line via `git format-patch
>   --notes`.
>
>> Signed-off-by: Mihail Atanassov <m.atanassov92@gmail.com>
>> ---
>>  Documentation/git-bisect.txt | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> Except for that one nit,
> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
>
> Thanks.
>
> [1] https://www.kernel.org/pub/software/scm/git/docs/SubmittingPatches.html#send-patches

← back to recent threads