Great questions.
I don't feel strongly one way or the other over the `git merge --log` behavior (I didn't know of that before) -- having the individual commits' one-liners doesn't seem super helpful to me since they can already be easily seen via `git log`, but it doesn't seem harmful either -- but I *have* on occasion felt it useful/important to actually explain the entire feature via the merge's message. I achieve that by just doing a `git commit --amend` (which I have aliased to `git amend`) after the merge.
In other words, what I found useful was entering a *new* message, that's actually a cohesive summary and explanation, rather than a list of one-liners.
I don't believe that forcing a custom message should at all be the default behavior (just like it's not for a regular `git merge`), but having it as an option might be nice, maybe `-m` (with an optional message passed on the command-line after that).
For the single-commit `--no-ff` feature, I think it'd be a fine option, but I again don't think it should be the default behavior. The primary purpose of `--no-ff` in git-flow (to my understanding) is revertability of a feature. If the feature is a single commit, it's already revertable. And I would say that the single commit's message is a better description of the feature than the branch name, as well.
Great work again!
Aseem