Модераторы: ZeeLax, powerfox
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с исполнением хуков в git 
V
    Опции темы
alex_smirnov
Дата 27.3.2009, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 194
Регистрация: 22.6.2007
Где: Санкт-Петербург

Репутация: нет
Всего: 4



Добрый день,

для гит-репозитория пишу хук update.

Надо сделать так, чтобы:
1. хук сделал клон репозитория, в который производится push (репозитория в котором находится хук);
2. после того как клон сделан, надо сделать checkout нужной ветки.

Собственно, содержимое хука:
!/bin/sh
git clone ../tftest.git /tmp/tftest-clone;
cd /tmp/tftest-clone;
pwd;
git checkout --track -b second_branch origin/second_branch;
pwd;

Клон делается успешно и переход в папку с клонированым репозиторием тоже происходит (pwd).
А вот чекаут не происходит :(.
Гит ругается: fatal: Not a git repository: '.', после чего выводится правильный путь до клонированного репозитория.

Если вместо чекаута заснуть (sleep 10s), и в это время сделать чекаут в другой консольке в нужной папке, то всё впорядке.
И вообще, если построчно выполнять скрипт ручками, то всё работает.

В чем тут проблема не пойму. Буду благодарен за подсказки.

ЗЫ: может мне надо изобразить некоторый другой процесс, который сделает чекаут и вернет управление скрипту, но как это грамотно сделать?
PM GTalk Jabber   Вверх
alex_smirnov
Дата 27.3.2009, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 194
Регистрация: 22.6.2007
Где: Санкт-Петербург

Репутация: нет
Всего: 4



Решилось!!! smile

Читайте доки называется:
When update-hook is run, GIT_DIR is set to '.' by the calling receive-pack.

Перед клоном надо было выполнить следующее:
unset GIT_DIR;
PM GTalk Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Linux/UNIX: Oбщие вопросы"
nickless
Imple
pythonwin

В этом форуме предпочтительны вопросы на следующие темы:

  • Конкретные вопросы о конкретном ПО. В таких вопросах желательно привести точные данные о программе: версия программы, версия ОС, версия ядра, и проблему в форме: сделал Х, хотел получить Y, а получил Z.
  • Неконкретные вопросы о выборе ПО
  • Обзоры - как дополнение в ветку Обзоры


  • Вы должны соблюдать правила форума.
  • Помните: какой вопрос, такой и ответ. Прежде чем задать вопрос прочитайте вот эту статью на форуме CIT.
  • Оскорблять запрещается.
  • Религиозные войны в Религиозных войнах.
  • Общение "просто так" в Клубе юнуксоидов. В отличие от многих других разделов, здесь разрешается сдержанно оффтопить и юморить в тему.

За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу).


В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим.


Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программное обеспечение под *NIX системы | Следующая тема »


 




[ Время генерации скрипта: 0.0834 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.