Are you sure that `merge --only-ff` is supported in the lowest versions of git we might see, because I seem to recall that is a relatively recent addition?

As for the fink developer work flow, I would think things would still work so long as you did any local modifications in any branch other than master. This would also have the side effect that if you have uncommitted changes it will fail in the checkout phase, so no changes should be lost.

The problem scenario I come up with is the case of uncommitted changes in the repo (in the general user case); however `pull` is not really designed to be a scripted command since there are too many (really any at all) ways to get into weird or unanticipated states and given enough users enough time we will get all of them.