Я пытаюсь настроить внутренний git-сервер, используя мой рабочий стол OS X (в основном в качестве тестового примера).Все работает, когда задействованы ключи SSH, но в настоящее время я пытаюсь использовать git-daemon для клонирования только для чтения.Если я запускаю git-daemon в терминале:
sudo -u git git-daemon --basepath=/Users/git/repos/ --export-all
, тогда все работает нормально, например,
git clone git://localhost/My_Project.git
Но когда я пытаюсь настроить это с помощью launchd, он отклоняет все запросы,Я использую этот файл plist:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>git</string>
<key>UserName</key>
<string>git</string>
<key>OnDemand</key>
<false/>
<key>ProgramArguments</key>
<array>
<string>/path/to/git-daemon</string>
<string>--base-path=/Users/git/repos/</string>
<string>--export-all</string>
</array>
</dict>
</plist>
и получаю следующую ошибку, если я пытаюсь клонировать My_Project:
Cloning into My_Project...
fatal: The remote end hung up unexpectedly
Разочаровывает то, что я считаю, что это работало, поэтомупроблема может быть связана не столько с моим plist-файлом или использованием launchd, сколько с любыми сетевыми настройками, которые могли измениться.Любой совет будет принят с благодарностью.
Извинения, если это больше вопрос системного администратора, но я подумал, что разработчики могут иметь некоторый опыт здесь.
Обновление: консоль сообщает о следующей ошибке, еслирепо существует:
git[431]
error: cannot run upload-pack: No such file or directory