【发布时间】:2010-07-27 13:06:03
【问题描述】:
我正在使用 Gitosis 来管理一组存储库。我遇到的问题是 Gitosis 没有记录哪个用户推送了特定的提交。我拥有的唯一信息是提交本身中的“作者”和“提交者”字段,“推送者”可以将它们设置为任何内容。
现在我意识到,一次“推送”可以向 Gitosis 服务器发送很多很多提交,并且每个提交都是由单个开发人员创建的,所以我应该限制自己说我只对在被推送的分支上进行头部提交。这个提交将(应该!)由创建发布的人创建,所以我想知道那是谁,所以如果有问题我可以去打败他们。
我的想法是在服务器上使用一个钩子将头部提交的 Committer 与 gitosis 用户名进行比较。如果他们都是“john.doe@example.com”,那么推送者就是提交者并且允许推送,否则被拒绝。这可行吗?我应该使用哪个钩子 - 我认为“更新”是一个,尽管预接收和后接收也是可能的。
我还考虑过使用 post-receive 挂钩来标记头部提交,让它将推送者的用户名放在带注释的标记消息中。这样做的问题是,查看提交的人不一定知道标签。
我愿意接受有关如何执行此操作的其他建议。基本思想是我想知道哪个 Gitosis 用户推送到了特定的分支。
如果我能找出是谁推送了一个标签(或将推送者限制为标签者)那就更好了!
凯文
【问题讨论】: