Я сейчас настраиваю git-схему, как описано здесь .
Рассматриваемый сервер работает под управлением Windows Server 2008 R2, используя copSSH и msysGit.
Это всего лишь пара репозиториев git: одно голое репо, которое помещается в репозиторий, а затем другое непогашенное репо, содержащее работающее приложение.
Репо, которое помещается в репозиторий, содержит хук после обновления, который выглядитследующим образом:
echo
echo "**** Pushing data to Live Server."
echo
cd /cygdrive/c/Repositories/Live || exit
unset GIT_DIR
git pull hub master
exec git-update-server-info
Примечание: Live - это не голое репо, которое, как следует из названия, является live.Live.git - это голое репо, которое содержит вышеуказанный хук и подталкивается к.Мне не удалось записать на репозиторий без / cygdrive /, который был обнаружен при выводе $ pwd во время диагностического push-запроса.
Pull успешно вызывается в репозитории Live, проблема заключается в поиске репозитория Live.git.в этом обновлении.Я получаю «странные сообщения» об ошибках, которые читаются так:
remote: Pushing data to Live Server.ommand not foundnd not foundle or directory
remote: : not foundpdate-server-infoand not foundand not founddommand not found
Концентратор определен как удаленный репозиторий через локальную оболочку git как /c/Repositories/Live.git и / cygdrive / c / Repositories /Live.git.
Я заменил «хаб» прямыми путями к папкам, даже пробуя что-то вроде «../Live.git» Все, что я пробовал, закончилось неудачей обновления git.Все попытки для Live.git в команде обновления были предприняты с помощью git bash с рабочим каталогом, установленным на Live repo, и работали.
Спасибо за любые предложения или помощь!
Обновление: моя схема требует, чтобы я извлек из хранилища концентратора, чтобы объяснить почему, потребовалось бы неоправданно много места, но это так.
Я провел больше испытаний и обнаружил большео моей проблеме: когда я проталкиваю через SSH в свой репозиторий, основной концентратор успешно монтируется и выполняется команда pull.Когда указанная команда pull пытается разрешить хаб-репозиторий, она завершается неудачно (как я подробно описал выше), но оказывается, что с помощью серии команд ls в хуке папки не видны.Я даже запустил ls на / cygdrive / c / и вижу только папку с именем usr.Я гарантировал, что у пользователя copSSH есть полные права администратора во всей файловой системе (только для целей тестирования и отладки).
Я не знаю, почему мои пути используют путь / cygdrive / path, я неу меня установлен cygwin помимо cygwin, упакованного в copSSH.Это свидетельствует о проблеме в моей конфигурации?или это нормально для установок copSSH + msysGit?Как это возможно, что я могу смонтировать основной репозиторий из ловушки, даже если ls не перечислит папку репозиториев?