「Service not enabled: 'receive-pack'」と言いやがってコミットできない

※以下、かなり例外的な事項な気がしてるので、まずは他のサイト見た方が良いと思います^^;

http-backend で公開しているリポジトリに push すると 403 が帰ってきて、apache さんの errorログに 「Service not enabled: 'receive-pack'」 と残ります。 git config receivepack true もしたのに……

私の環境での解 - その1

リポジトリの構成が怪しい状態でした。 こんな感じ……………… なんで branches とか config とか諸々ダブってるの!?

-- .git
-- HEAD
-- branches
-- config
-- description
-- hg2git-heads
-- hg2git-mapping
-- hg2git-marks
-- hg2git-state
-- hooks
-- applypatch-msg.sample
-- commit-msg.sample
-- post-update.sample
-- pre-applypatch.sample
-- pre-commit.sample
-- pre-rebase.sample
-- prepare-commit-msg.sample
`-- update.sample
-- info
-- exclude
`-- refs
-- logs
`-- refs
`-- heads
`-- master
-- objects
-- info
`-- packs
`-- pack
-- pack-8b5641ffa110db925c030900466b920c3bb6c892.idx
`-- pack-8b5641ffa110db925c030900466b920c3bb6c892.pack
`-- refs
-- heads
`-- master
`-- tags
`-- b1
-- HEAD
-- branches
-- config
-- description
-- hooks
-- applypatch-msg.sample
-- commit-msg.sample
-- post-update
-- pre-applypatch.sample
-- pre-commit.sample
-- pre-rebase.sample
-- prepare-commit-msg.sample
`-- update.sample
-- info
`-- exclude
-- objects
-- info
`-- pack
`-- refs |-- heads `-- tags

.git にある方の諸々を1コ上の階層の所に持ってくるという非常に危険な力業をした後に、再度 git config http.receivepack true した所、push 出来るようになりました。

私の環境での解 - その2

/configには receivepack = true 書いてあったけど、.git/config には書いて無かったので、.git/config へ手動で以下を追記したところ、(上記のダブってるディレクトリ構成のままで)push に成功しました。

[http]
	receivepack = true

…どっちが正解なのかはワシには解らん………!

ってか、ディレクトリ構成がダブるとか、おいら何をやらかしたのだろう… orz