{"thread":{"id":"44990","subject":"octopus merge --no-ff claims to fast-forward even though it doesn't","startedAt":"2017-01-27T20:49:31Z","lastAt":"2017-01-27T22:03:00Z","messageCount":2,"participants":["Samuel Lijin","Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"310437","messageId":"CAJZjrdWdRGZ5DC1XV_YiNt-1sKiNgAtiS-eS9L6H2GJ+_8n08w@mail.gmail.com","threadId":"44990","inReplyTo":null,"subject":"octopus merge --no-ff claims to fast-forward even though it doesn't","fromName":"Samuel Lijin","fromEmail":"sxlijin@gmail.com","sentAt":"2017-01-27T20:46:25Z","receivedAt":"2017-01-27T20:49:31Z","isPatch":false,"sender":{"key":"sxlijin@gmail.com","avatar":"https://gravatar.com/avatar/01777bf1eae64e2b4dca97dcac182a6abbcf6fd8cb4d5b8fa33edf9f8cc21746?d=mp&s=160"},"body":"I was doing an octopus merge earlier and noticed that it claims to\nfast-forward when you specify --no-ff, even though it does actually\nabide by --no-ff.\n\nI can consistently reproduce as follows:\n\n$ git clone https://github.com/sxlijin/merge-octopus-experiment\n$ cd merge-octopus-experiment\n$ git merge --no-ff origin/A origin/B --no-edit\nFast-forwarding to: origin/A\nTrying simple merge with origin/B\nMerge made by the 'octopus' strategy.\n anotherA | 0\n anotherB | 0\n otherA   | 0\n otherB   | 0\n 4 files changed, 0 insertions(+), 0 deletions(-)\n create mode 100644 anotherA\n create mode 100644 anotherB\n create mode 100644 otherA\n create mode 100644 otherB\n\n$ git log --graph --pretty=oneline --decorate\n\nI've reproduced the issue with 2.11.0 on both a Windows box (MSYS) and\nLinux (Arch).\n\nThe issue seems to live in git-merge-octopus.sh, specifically in that\n--no-ff does not affect the initial value of NON_FF_MERGE. I'm happy\nto submit a patch if someone can point me in the right direction.\n\nSam\n"},{"id":"310445","messageId":"xmqqmvecxiz5.fsf@gitster.mtv.corp.google.com","threadId":"44990","inReplyTo":"CAJZjrdWdRGZ5DC1XV_YiNt-1sKiNgAtiS-eS9L6H2GJ+_8n08w@mail.gmail.com","subject":"Re: octopus merge --no-ff claims to fast-forward even though it doesn't","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2017-01-27T21:59:10Z","receivedAt":"2017-01-27T22:03:00Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Samuel Lijin <sxlijin@gmail.com> writes:\n\n> I was doing an octopus merge earlier and noticed that it claims to\n> fast-forward when you specify --no-ff, even though it does actually\n> abide by --no-ff.\n\nThis was intentional and hasn't changed since it was first designed;\nthe octopus was to be used only for the simple and obvious merges.\n\nIf anything, I think it should error out when the --no-ff option is\ngiven, issuing the same error message as the one given when any step\nother than the last one needs manual resolution.\n"}]}