#git #gitosis
#git #gitosis
Вопрос:
Я настроил свой собственный git-сервер с помощью gitosis. Кажется, что он функционирует правильно, но когда я выполняю git push, я получаю сообщение об ошибке
Counting objects: 5, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 388 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
: invalid optione: line 2: set: -
set: usage: set [--abefhkmnptuvxBCHP] [-o option-name] [arg ...]
To ssh://git@mytestserver/~/repositories/gitosis-admin.git
Однако последующее извлечение работает и, похоже, правильно сливается.
Идеи?
Комментарии:
1. Это действительно pull? (Это «To» в последней строке не имеет особого смысла.) Что касается ответа, это странно — строка «недопустимый параметр» не имеет префикса «remote: «, так что, похоже, это на вашем конце. Я знаю, что
git pull
это реализовано как сценарий оболочки, так что это может происходить внутри него. Какую версиюgit
вы используете?2. Проверьте свой файл .git / config на наличие любых недопустимых параметров
3. Это был push … извините за опечатку. Клиент 1.6.5.1
4. @Ian: Хорошо, если это на удаленном конце, то это вполне может быть проблемой с вашей установкой gitosis — что поднимает вопрос о том, почему вы используете gitosis вместо gitolite (который все еще поддерживается и имеет более широкие возможности). Что произойдет, если вы просто
ssh git@mytestserver
?5. Думаю, я бы не сталкивался с gitolite. Похоже, я должен это использовать.
Ответ №1:
Эта ошибка исходит из командной оболочки в удаленной системе (скорее всего, bash). Таким образом, оболочка входа в удаленной системе, вероятно, пытается выполнить исходный файл (например, ~ /.profile), который поврежден. Это также может быть, например, из-за того, что оболочка пользователя представляет собой что-то вроде /bin / bash, но где-то в git или пути выполнения, который вызывает ssh, вместо этого вызывается /bin / sh (который может быть старше с меньшим количеством опций).
Комментарии:
1. Спасибо, что это ответ на мой вопрос. Я обошел это, используя gitolite вместо этого, как предлагает Джефроми.