Theodore Ts'o [off-list ref] writes:
What if we added the ability to do something like this:
[remote "origin"]
url = git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
fetch = +refs/heads/master:refs/heads/master
mergeoptions = --ff-only
This would be an analog to branch.<name>.mergeoptions, but it would
apply to the source of the pull request, instead of the destination.
That way, people who do a "git pull" from Linus's tree would get the
protection of --ff-only, while pulls from submaintainer trees would
automatically get a merge commit, which is what we want.
It doesn't handle the case of a submaintainer pulling from a
maintainer in a back-merge scenario, but that should be a pretty rare
case, so maybe that's OK.
Is there an escape hatch for that rare case? IOW, how does a
submaintainer who configured the above to override --ff-only?