如何将Trac与远程git存储库相链接? (2个单独的服务器)

时间:2017-03-09 01:40:55

标签: git trac git-post-receive

我有2台服务器

  • 服务器1:包含我的中央git回购 第二个
  • 服务器2:包含我的edgewell Trac环境

我正在尝试让trac根据git commit消息更新票证。

我知道有一个post-receive挂钩,但只能在服务器1上运行

如何告诉服务器2运行trac-admin changeset added cmd?

此外,如果我在服务器2上创建了git repo的克隆,那么我将使用git pull cmds,这反过来会调用合并后的钩子但是这似乎没有使用相同的stdin参数调用post-receive hook有。

有没有办法设置服务器1来运行ssh cmd或将数据有效负载发送到服务器2上的web cgi脚本,该脚本在克隆的repo上执行pull请求并继续执行trac-admin changeset added cmd ?

1 个答案:

答案 0 :(得分:0)

trac-github有一个GitHub webhook的请求处理程序,它执行git updategit.remote('update', '--prune')),然后运行 changeset added rm.notify('changeset_added', reponame, added)) 。您可以编写一个响应请求的小插件并执行相同操作,并使用post-receivecurl挂钩发送请求。

但是,从主存储库push to the mirror repository可能更简单,并让镜像运行post-receive挂钩以将更改集同步到Trac。