I was doing an octopus merge earlier and noticed that it claims to
fast-forward when you specify --no-ff, even though it does actually
abide by --no-ff.
I can consistently reproduce as follows:
$ git clone https://github.com/sxlijin/merge-octopus-experiment
$ cd merge-octopus-experiment
$ git merge --no-ff origin/A origin/B --no-edit
Fast-forwarding to: origin/A
Trying simple merge with origin/B
Merge made by the 'octopus' strategy.
anotherA | 0
anotherB | 0
otherA | 0
otherB | 0
4 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 anotherA
create mode 100644 anotherB
create mode 100644 otherA
create mode 100644 otherB
$ git log --graph --pretty=oneline --decorate
I've reproduced the issue with 2.11.0 on both a Windows box (MSYS) and
Linux (Arch).
The issue seems to live in git-merge-octopus.sh, specifically in that
--no-ff does not affect the initial value of NON_FF_MERGE. I'm happy
to submit a patch if someone can point me in the right direction.
Sam