In our development process we always want to do rebase and only rarely
create merge commits, and so we have a recommendation to set the
merge.ff configuration attribute to "only".

This is great, however it appears to break git merge --squash (which we
also use constantly).

If I'm squash-merging from a branch which is not based on HEAD (cannot
use fast-forwarding) then I get the extremely cryptic error:

  $ git checkout master
  $ git pull
  $ git merge --squash my-branch
  fatal: Not possible to fast-forward, aborting.

I couldn't even understand what this error meant for a while: what was
being fast-forwarded here anyway?  It took me a lot of thought to
realize it was related to the merge.ff config setting.

Eventually I figured it out, and now have this workaround:

  $ git merge --ff --squash my-branch

But, shouldn't we consider this a bug?  I don't see any reason why
--squash should pay attention to the ff config setting, or command line
flags either for that matter.  IMHO when you add the --squash flag, the
ff options/config should be ignored.

Or, am I missing some subtle issue here?

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to