首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mercurial-服务器挂钩不工作

mercurial-服务器挂钩不工作
EN

Stack Overflow用户
提问于 2013-03-14 01:38:49
回答 1查看 494关注 0票数 0

mercurial-server在Ubuntu 12.04 LTS上运行

代码语言:javascript
复制
myserver@ip:/etc$ hg --version
    Mercurial Distributed SCM (version 2.0.2)
myserver@ip:/etc$ dpkg -s mercurial-server
    Package: mercurial-server
    Version: 1.2-1 
    ....

myserver@ip:/etc/mercurial-server/remote-hgrc.d$ ls -ltr
    total 12
    -rw-r--r-- 1 root root 180 Oct 10  2011 logging.rc
    -rw-r--r-- 1 root root 139 Oct 10  2011 access.rc
    -rw-r--r-- 1 root root  74 Mar 13 22:14 check.rc
myserver@ip:/etc/mercurial-server/remote-hgrc.d$ cat check.rc
    [hooks]
    pretxncommit.author_check = /SOURCE/mercurial-server/validate.sh

#manually added here too    
myserver@ip:/etc/mercurial-server/remote-hgrc.d$ cat ~hg/repos/hgadmin/.hg/hgrc
    # WARNING: when these hooks run they will entirely destroy and rewrite
    # ~/.ssh/authorized_keys

    [extensions]
    hgext.purge =

    [hooks]
    changegroup.aaaab_update = hg update -C default > /dev/null
    changegroup.aaaac_purge = hg purge --all > /dev/null
    changegroup.refreshauth = python:mercurialserver.refreshauth.hook
    pretxncommit.author_check = /SOURCE/mercurial-server/validate.sh

myserver@ip:/etc/mercurial-server/remote-hgrc.d$ cat /SOURCE/mercurial-server/validate.sh
    #!/bin/bash
    echo "REMUSR:$REMOTE_USER"
    echo "ATHR:`hg tip --template "{author}\n"`b"
    exit 1  

myserver@ip:~$ sudo -u hg cat ~hg/.ssh/authorized_keys
    no-pty,no-port-forwarding,no-X11-forwarding,no-agent-forwarding,command="/usr/share/mercurial-server/hg-ssh root/user1/user1.pub" ssh-rsa AAAAB3xOMN8ZiF user1@server.com
    no-pty,no-port-forwarding,no-X11-forwarding,no-agent-forwarding,command="/usr/share/mercurial-server/hg-ssh users/user2/user2.pub" ssh-rsa AAAAB3N..0HchQQw== user2@server.com

在此之后,我从本地计算机(Windows)克隆了一个testproject,更改、提交、推送,并成功完成,没有出现任何错误或消息。

代码语言:javascript
复制
 D:\hg\testproj>hg push
   pushing to ssh://hg@myserver.com/testproj
   searching for changes
   remote: adding changesets
   remote: adding manifests
   remote: adding file changes
   remote: added 1 changesets with 1 changes to 1 files
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-15 21:56:13

与配合使用

代码语言:javascript
复制
$ cat check.rc 
[hooks]
pretxnchangegroup.author_check = /SOURCE/mercurial-server/validate.sh

不使用pretxncommit

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15392518

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档