Capistrano и Git: требовалась одна доработка

Capistrano и Git работали нормально, пока я не перенес свой сайт на другой сервер. Моя первая попытка развертывания не удалась из-за проблемы, связанной с SSH-известными хостами.

Даже если мне удалось решить эту проблему, возникла еще одна, и я больше не могу развернуть:

  * executing `deploy'
  * executing `deploy:update'
 ** transaction: start
  * executing `deploy:update_code'
    updating the cached checkout on all servers
    executing locally: "git ls-remote [email protected]:/home/collimarco/git/foto-fiori.git master"
  * executing "if [ -d /home/collimarco/mywebsite.com/shared/cached-copy ]; then cd /home/collimarco/mywebsite.com/shared/cached-copy && git fetch  origin && git reset  --hard 7de27a6a1de7a94508f943596413e5e0f217f57e; else git clone  --depth 1 [email protected]:/home/collimarco/git/foto-fiori.git /home/collimarco/mywebsite.com/shared/cached-copy && cd /home/collimarco/mywebsite.com/shared/cached-copy && git checkout  -b deploy 7de27a6a1de7a94508f943596413e5e0f217f57e; fi"
    servers: ["mywebsite.com"]
    [mywebsite.com] executing command
 ** [mywebsite.com :: out] * refusing to create funny ref 'remotes/origin/*' locally
 ** [mywebsite.com :: out] [email protected]'s password:
Password: 
 ** [mywebsite.com :: out]
 ** [mywebsite.com :: out] fatal: Needed a single revision
    command finished
*** [deploy:update_code] rolling back
  * executing "rm -rf /home/collimarco/mywebsite.com/releases/20091027191027; true"
    servers: ["mywebsite.com"]
    [mywebsite.com] executing command
    command finished
failed: "sh -c \"if [ -d /home/collimarco/mywebsite.com/shared/cached-copy ]; then cd /home/collimarco/mywebsite.com/shared/cached-copy && git fetch  origin && git reset  --hard 7de27a6a1de7a94508f943596413e5e0f217f57e; else git clone  --depth 1 [email protected]:/home/collimarco/git/foto-fiori.git /home/collimarco/mywebsite.com/shared/cached-copy && cd /home/collimarco/mywebsite.com/shared/cached-copy && git checkout  -b deploy 7de27a6a1de7a94508f943596413e5e0f217f57e; fi\"" on mywebsite.com

Мой репозиторий git кажется нетронутым: почему я получаю сообщение «Требуется одна ревизия»?

Любое предложение приветствуется. Заранее спасибо!

ОБНОВЛЕНИЕ: кто-то предложил удалить удаленный кеш, как мне это сделать?

ОБНОВЛЕНИЕ: я переименовал shared / cached-copy в shared / cached-copy-old. Затем я создал пустую папку с общим доступом / кэшированной копией. Теперь я получаю «Репозиторий не git»: http://pastie.org/672254.txt


person collimarco    schedule 27.10.2009    source источник
comment
Вы обновили свой файл deploy.rb, как я полагаю, обновили, но не возражаете опубликовать соответствующие фрагменты? Какую версию капистрано вы используете?   -  person Jorge Israel Peña    schedule 27.10.2009
comment
Я использую Capistrano v2.5.2, и deploy.rb обновлен;)   -  person collimarco    schedule 27.10.2009
comment
Просто удалите общую / кешированную копию. Не делайте замену, крышка сделает это за вас.   -  person Jim Zajkowski    schedule 28.10.2009


Ответы (1)


Проверьте свои версии git на клиенте и сервере; Готов поспорить, вам нужно обновить одну из них до 1.6.

person Jim Zajkowski    schedule 27.10.2009
comment
Моя локальная версия - 1.6.4.1, а на сервере - 1.4.4.4. Пользуюсь Capistrano v2.5.2. Это проблема? Даже если я успешно использую git push со своего локального компьютера? - person collimarco; 27.10.2009
comment
Ага, есть ссылка на несовместимость с 1.6.x и 1.4.x. Обновите сервер. - person Jim Zajkowski; 27.10.2009