Как отобразить текущую версию рабочей копии hg-репозитория на странице PHP
Я использую Mercurial для большинства своих проектов, и когда я развертываю веб-сайт, я просто делаю hg clone
на рабочем сервере и hg pull -u
оттуда. То, что я хотел бы сделать, это добавить небольшой фрагмент к нижнему колонтитулу сайта, который отображает текущий номер версии (как десятичный, так и шестнадцатеричный), а также, возможно, текущую ветку. Qaru и BitBucket делают то же самое, что и я.
Я кратко попытался разобрать вывод exec('hg summary')
, но я столкнулся с проблемами с правами доступа, прежде чем задаваться вопросом, есть ли лучший способ сделать это. Есть ли лучший способ или exec
мой лучший вариант?
Ответы
Ответ 1
Вы можете использовать крюк после обновления, чтобы помещать информацию в файл. На сайте .hg/hgrc
вы бы поставили что-то вроде этого:
[hooks]
post-update = hg id --rev > VERSION ; hg id --id >> VERSION
то вы можете получить доступ к этому файлу из своего php. Вам все равно нужно убедиться, что пользователь, выполняющий hg pull -u
, доверяет hgrc файлу и что файл VERSION имеет разрешения, чтобы веб-сервер мог его прочитать.