其他分享
首页 > 其他分享> > 我要添加一些自定义代码,以便在提交后运行

我要添加一些自定义代码,以便在提交后运行

作者:互联网

我每次尝试进行一次提交后,在哪里可以放置要运行的代码?具体来说,我想在项目根目录的.hg文件夹中维护一个名为Latest的文件-该文件将保存最新提交的修订号和哈希码.在同一主题上,如何在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

编辑:
我能够通过钩子(在.hg / hgrc中)完成上述操作:

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

具有小费信息的文件已成功创建,但我也想通过hg add tip将其添加到当前提交中,这是Mercury进程卡住的地方,等待着挂起的提交显然持有的锁.有没有一种解决方法,可以将在提交/预提交期间创建的文件添加到其中?谢谢.

解决方法:

http://hgbook.red-bean.com/read/handling-repository-events-with-hooks.html

特别是你似乎想要提交钩子,其中有一个教程

当然,这听起来像您真正想要的是hg tip

标签:automation,customization,python,mercurial
来源: https://codeday.me/bug/20191024/1919054.html