mercurial - я хочу добавить собственный код для запуска после коммита - PullRequest
3 голосов
/ 01 февраля 2010

где я могу разместить код для запуска после каждого коммита, который я делаю с Mercurial? В частности, я хотел бы сохранить файл с именем latest в папке .hg в корне моего проекта - этот файл будет содержать номер редакции и хэш-код для самого последнего коммита. На ту же тему, как я могу получить те в Python?

# get mercurial version hash
ver = ?

# get mercurial revision number
rev = ?

# is there a shortcut to this folder through mercurial?
f = open('/path/to/.hg/latest', 'w')
f.write('ver=%s\nrev=%d' % ( str(ver), int(rev) ) )
f.close

EDIT : Я смог выполнить вышеописанное с помощью хуков (в .hg / hgrc):

[hooks]
precommit= echo node=`hg tip --template {node}` > tip && echo rev=`hg tip --template {rev}` >> tip && hg add tip

Файл с информацией о подсказке создан успешно, но я также хотел бы добавить его к текущему коммиту с помощью hg add tip, в котором процесс mercurial застревает в ожидании блокировки, очевидно удерживаемой ожидающим коммитом. Есть ли способ обойти это так, чтобы к нему добавлялся файл, созданный во время / pre commit? спасибо.

1 Ответ

5 голосов
/ 01 февраля 2010

http://hgbook.red -bean.com / чтение / погрузо-хранилище события-с-hooks.html

определенно вам нужен хук коммита, для которого есть учебник

конечно, это звучит как то, что вы действительно хотите, это hg tip

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...