好的,这是真的很奇怪。我有一个旧的Mercurial 2.02。在旧的Ubuntu上使用Python 2.6(我认为是10.4)。 我们是一家窗口店,不定期推送,所以我想要一种评论服务。它绝对工作在Windows .. pretxnchangegroup引用驱动器上的python文件,工作..Mercurial hook:更改后不重新编译?
但我犯了一个新的Mercurial 2.7上创建Mercurial挂钩的错误,但后来认识到内部API更改,所以我得到回来并修复它,或试图。我使用Windows,但需要将钩子部署到Linux,所以我使用WinSCP将py文件复制到我的主目录。然后sudo cp它到另一个hook文件所在的python 2.6 distro文件夹。
我通过在Linux中的模块模式调用挂钩:
pretxnchangegroup.pushtest = python:mycompanyname.testcommit.exportpatches
在文件夹“mycompanyname”是文件testcommit.py和功能被命名为exportpatches。它在本地工作没有问题。
奇怪的是:它曾经工作过一次,有点不稳定:有时它只是说“mycompanyname.testcommit.exportpatches”这个函数没有定义。有时它只是使用旧版本的钩子(我认为这是因为它提供了一个旧的异常消息而不是新的消息)。我不知道如何获得python的异常消息,所以我迷失在那里..
第二个奇怪的事情:这些钩子文件也有一个.pyc版本,可能编译,但我的钩子没有得到这种治疗。那是自动合并?
如果我尝试使用目录方法指向该文件,那么在推送时会出现500内部错误。
我真的失去了和绝望现在,因为该材料具有相当工作不久,和我撞我的头靠在墙上现在..
只是一个评论。在本地工作,但在服务器上奇怪?也许需要服务器重启? – santiagopim
本地=不同的python,不同的Mercurial,不同的操作系统;不同的一切。即使重新启动很容易,但我很难相信这是操作系统中任何暂时搞砸的问题,尤其是,在Linux上(在Windows上,这将是一个不同的故事..)。 – hko