[v2] Documentation/git-bisect.txt: add --no-ff to merge command
diff mbox series

Message ID 20191028220122.21449-1-m.atanassov92@gmail.com
State New
Headers show
Series
  • [v2] Documentation/git-bisect.txt: add --no-ff to merge command
Related show

Commit Message

Mihail Atanassov Oct. 28, 2019, 10:01 p.m. UTC
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(-)

Comments

Jonathan Nieder Oct. 28, 2019, 11:54 p.m. UTC | #1
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 Oct. 29, 2019, 2:28 a.m. UTC | #2
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

Patch
diff mbox series

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