【问题标题】:mercurial-server pretxncommit hook not workingmercurial-server pretxncommit 钩子不起作用
【发布时间】:2014-01-16 06:33:08
【问题描述】:

服务器

$ hg --version
    Mercurial Distributed SCM (version 2.0.2)

/usr/share/mercurial-server$ cat mercurial_server-1.1.egg-info
    Metadata-Version: 1.1
    Name: mercurial-server
    Version: 1.1

$ cat /etc/mercurial-server/remote-hgrc.d/check.rc 
    [ui]
    debug = true

    [hooks]
    commit.h1 = echo "executing commit USER:$REMOTE_USER"
    precommit.h2 = echo "executing precommit USER:$REMOTE_USER"
    pretxncommit.h3 = echo "executing pretxncommit USER:$REMOTE_USER"
    pretxnchangegroup.h4 = echo "executing pretxnchangegroup USER:$REMOTE_USER"

本地机器

unity@unity:~/hgtst/hgadmin$ vi keys/users/user.m/user.m.pub 
unity@unity:~/hgtst/hgadmin$ hg commit -m "Test L"
unity@unity:~/hgtst/hgadmin$ hg push
    pushing to ssh://hg@repo/hgadmin
    searching for changes
    remote: adding changesets
    remote: changesets: 1 chunks
    remote: add changeset 9cb298911d0c
    remote: adding manifests
    remote: manifests: 1/1 chunks (100.00%)
    remote: adding file changes
    remote: adding keys/users/user.m/user.m.pub revisions
    remote: files: 1/1 chunks (100.00%)
    remote: added 1 changesets with 1 changes to 1 files
    remote: calling hook pretxnchangegroup.access: mercurialserver.access.hook
    remote: running hook pretxnchangegroup.h4: echo "executing pretxnchangegroup USER:$REMOTE_USER"
    remote: executing pretxnchangegroup USER:
    remote: updating the branch cache
    remote: calling hook changegroup.aaaaa_servelog: mercurialserver.servelog.hook
    remote: running hook changegroup.aaaab_update: hg update -C default > /dev/null
    remote: running hook changegroup.aaaac_purge: hg purge --all > /dev/null
    remote: calling hook changegroup.refreshauth: mercurialserver.refreshauth.hook
unity@unity:~/hgtst/hgadmin$ 

当我通过 ssh 将一些更改从本地机器推送到 mercurial-server 时,pretxnchangegroup 钩子被执行,但没有其他钩子被执行。

【问题讨论】:

    标签: mercurial-hook mercurial-server


    【解决方案1】:

    这是意料之中的。 您不会在远程服务器上提交,而是将更改推送到它。 这就是 changegroup 的用途,您正在使用它。

    在我看来,一切似乎都在按应有的方式进行。

    希望这会有所帮助,TW

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-21
      • 2018-12-30
      • 1970-01-01
      • 1970-01-01
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多