Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Configuration Mercurial自动更新问题_Configuration_Mercurial_Auto Update - Fatal编程技术网

Configuration Mercurial自动更新问题

Configuration Mercurial自动更新问题,configuration,mercurial,auto-update,Configuration,Mercurial,Auto Update,我们开始使用Mercurial进行源代码控制。我们已将HGRC配置文件配置为在推送到“中心”存储库后自动更新。 对于某些PC,我们会收到以下错误消息: warning: changegroup hook exited with status -1 HGRC如下所示: [ui] username=ADMIN verbose=true [hooks] changegroup = hg update >&2 稍后我们手动执行更新,一切正常。它可能与用户相关,而用户可能没有正确的权

我们开始使用Mercurial进行源代码控制。我们已将HGRC配置文件配置为在推送到“中心”存储库后自动更新。 对于某些PC,我们会收到以下错误消息:

warning: changegroup hook exited with status -1
HGRC如下所示:

[ui] 
username=ADMIN
verbose=true

[hooks]
changegroup = hg update >&2

稍后我们手动执行更新,一切正常。

它可能与用户相关,而用户可能没有正确的权限

您是否有IIS Web服务器管理您的Mercurial repos

(来自线程:)

根据Mercurial/IIS的经验,我建议尝试以下几点:

  • (a) 运行简单的非HG命令有效吗?
    cmd.exe
    上的权限将 影响进程外python挂钩
  • (b) 像“
    python-c”import sys;sys.exit(0)
    ”这样的简单钩子有效吗
  • (c) 如果到目前为止,您是否可以确认该进程正在以相同的方式运行 您认为它正在运行的用户,带有一个钩子,可以执行以下操作:

我有一个非常相似的问题。现在终于可以了:

changegroup=cmd/chg更新

粗体cmd/c导致cmd.exe生成,它将按照我们的要求执行hg update,但现在cmd.exe的退出值将为0

长话短说:

设置:win 2008服务器。
mercurial 1.9.3
hgwebdir通过普通http,它是一个内部网络

错误: 有趣的是,我的错误不是你的-1,而是
“警告:变更组挂钩已退出,状态为1
无论如何,没有执行更新

我发现我可以将钩子放在.hgrc或hgweb.config中。这里或那里的问题都是一样的。最后,我将其放入hgweb.config,如下所示,因此所有存储库都是自动提交的,这比一直使用这个松散的分支要好得多。我想要自动提交的主要原因是vcs&build服务器上的respositions现在拥有最新版本,这使得管理任务通常更简单

[web]
推送\u ssl=False允许\u推送=*

[collections]
c:\Dev\Reps=c:\Dev\Reps

[ui]
调试=真

[hooks]
changegroup=cmd/c hg update


注意:我们在Windows上使用mercurial,并使用网络地址(\\server\repo…),而不是使用HTTP选项。嗨,不,我们使用文件系统进行同步,而不是使用HTTP选项。谢谢你的评论。@Ezequiel:明白了。尽管如此,由于执行钩子的用户或执行钩子的路径,这看起来还是一个正确的问题。
import win32api
username = win32api.GetUserName()
(write username to a file so you can read it)