When using git submodules it’s sometimes necessary to push local changes directly to the upstream origin. In older git versions it was possible to just edit the main `.git/config` file and change the git submodule origin from ‘git://’ to ssh.

michi@imagine ~/coding/icinga/icinga-core/docbook (master) $ grep -A 1 docbook ../.git/config
[submodule "docbook"]
url = git@git.icinga.org:icinga-doc.git

michi@imagine ~/coding/icinga/icinga-core/docbook (master) $ git push origin master
fatal: remote error: access denied or repository not exported: /icinga-doc.git

But apparently this does not work anymore. So where’s the problem? Check the remote push origin:

michi@imagine ~/coding/icinga/icinga-core/docbook (master) $ git remote -v
origin git://git.icinga.org/icinga-doc.git (fetch)
origin git://git.icinga.org/icinga-doc.git (push)

Ok, nothing has changed. Googling leads to this thread.

Editing the git submodule config fixes the problem.

michi@imagine ~/coding/icinga/icinga-core/docbook (master) $ grep -B 1 icinga-doc ../.git/modules/docbook/config
[remote "origin"]
url = git@git.icinga.org:icinga-doc.git

VoilĂ .