Patch Set 2:

> What does native git do ...

I've checked that. Created two branches: x and y. Pushed them to the remote. Set branch.x.merge to refs/heads/y. Added extra commits on both branches. Did "git push" when on master:

$ git push
...
To d:/temp/origin
   cc1c649..1b2333d  x -> x
   91517ea..f1f97fb  y -> y

So it looks the config entry doesn't affect the push command.

FWIW, there was "remote.origin.fetch = +refs/heads/*:refs/remotes/origin/*" in my config by default.