Хочу, чтобы git post получил хук, чтобы сделать новый коммит и нажать - PullRequest
4 голосов
/ 09 мая 2011

Я бы хотел, чтобы мой хук после получения отвечал за обновление файла версии в самом репо при определенных условиях.Итак, предположим, у меня есть файл version.txt в моем репозитории, я хотел бы, чтобы ловушка получения почты обновляла строку версии внутри version.txt.

Это означало бы еще один толчок в репо.Возможно ли это?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 09 мая 2011

Вы можете иметь рабочий каталог вашего репо на вашем сервере. В пост-получении git pull на рабочий каталог, при необходимости обновите version.txt, зафиксируйте и отправьте. Это вызовет пост-получение еще раз, так что будьте осторожны с тем, как вы выполняете свое условное обновление, иначе оно попадет в цикл.

#!/bin/sh
unset GIT_DIR
cd /path/to/repo.wd
git pull
echo "new content" > version.txt
git add version.txt
git commit -m "updating version.txt"
git push origin master
2 голосов
/ 09 мая 2011

Я бы предпочел не пытаться делать дальнейшие коммиты / push, но использовать драйвер фильтра для того, чтобы при извлечении / обновлении можно было генерировать правильный контент для этого version.txt файла (т.е.со строкой правильной версии внутри)

enter image description here

Сценарий smudge, если он может распознать содержимое файла version.txt (т. е. это не будет иметь имя / путь к указанному файлу в качестве параметра ), заменит часть шаблона этого файла с правильной информацией.

...