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

3 messages from 2019-10-28 to 2019-10-29. Participants: Mihail Atanassov, Jonathan Nieder, Junio C Hamano.
Thread: https://gitlist.dev/t/52143

## Mihail Atanassov, 2019-10-28 22:01

Subject: [PATCH v2] Documentation/git-bisect.txt: add --no-ff to merge command
Message-ID: <20191028220122.21449-1-m.atanassov92@gmail.com>
URL: https://gitlist.dev/e/20191028220122.21449-1-m.atanassov92%40gmail.com

```
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(-)

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, 2019-10-28 23:54

Subject: Re: [PATCH v2] Documentation/git-bisect.txt: add --no-ff to merge command
Message-ID: <20191028235426.GF12487@google.com>
URL: https://gitlist.dev/e/20191028235426.GF12487%40google.com
In-Reply-To: <20191028220122.21449-1-m.atanassov92@gmail.com>

```
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]:

  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, 2019-10-29 02:28

Subject: Re: [PATCH v2] Documentation/git-bisect.txt: add --no-ff to merge command
Message-ID: <xmqqmudk709g.fsf@gitster-ct.c.googlers.com>
URL: https://gitlist.dev/e/xmqqmudk709g.fsf%40gitster-ct.c.googlers.com
In-Reply-To: <20191028235426.GF12487@google.com>

```
Jonathan Nieder <jrnieder@gmail.com> writes:

> 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.

>
>   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

```
