Это старый вопрос, но я боролся с этой точной проблемой, и этот ТАК вопрос всплыл, поэтому я подумал, что стоит попытаться записать, что сработало для меня.
Короче: янеобходимо запустить Apache
как обычный пользователь вместо Local System
.Это был старый тест VM
, с которым я играл, поэтому он работал только Windows XP
, но похоже, что, по крайней мере, на этой платформе (и, возможно, на других), msysgit
просто не работает должным образом при запуске подучетная запись Local System
(предположительно root filesystem
не сопоставлена должным образом).В результате ни одна строка shebang не будет работать, так как git-http-backend просто не может выполнять какие-либо двоичные файлы msysgit (даже с абсолютными Windows
путями).
Переключение Apache для запуска в качестве учетной записи обычного пользователя исправило этопроблема полностью.Очевидно, вам нужно убедиться, что пользователь Apache работает с правами доступа к read
/ write
git
репозиториям, но помимо этого, просто убедитесь, что ваша строка shebang
имеет значение #!/bin/sh
, и все должно быть в двух вариантах.
Наконец, да, это большой молот.В идеале вы могли бы использовать что-то вроде suexec
на Windows
, но быстрый googling
не указывает на очевидный путь вперед.Конечно, если у кого-то есть идеи, мне было бы интересно.
Пока это работает для меня, но не кажется идеальным.