git-pr

主要观点:尝试构建最简单的 git 协作工具,目标是使自我托管像运行 SSH 服务器一样简单,同时不牺牲外部协作者的时间和精力,将邮件列表和拉取请求工作流相结合。
关键信息:

  • 目标:创建简单的自我托管 git 解决方案,能与外部贡献者协作,代码所有者只需设置一个 golang 二进制文件,外部贡献者只需 SSH 密钥对和 SSH 客户端,通过订阅 RSS 接收补丁请求更新。
  • 问题:电子邮件作为发送和接收 git 仓库更改的去中心化系统虽好,但新用户加入邮件列表、设置邮件客户端及提交代码贡献的过程繁琐,且受电子邮件协议功能集限制;Github 拉取请求易用但需在网站内进行审查,在本地开发环境中审查有缺点,自我托管的模仿拉取请求解决方案需要大量基础设施,外部用户提交代码前需创建账户登录,增加摩擦。
  • 引入补丁请求(PR):创建无需设置电子邮件繁琐过程和电子邮件协议限制的自我托管 git“服务器”,主要工作流围绕本地开发环境,利用 SSH 应用处理大部分交互,通知通过 RSS ,所有状态变更生成静态 Web 资产,可使用format-patch工作流,所有协作在代码中进行,无需网页查看器,解决同一代码更改发送多个补丁集的问题,可利用git notes进行审查/评论但感觉较粗暴。
    重要细节:
  • 无需创建另一个代码托管平台,通过简单的方式实现协作。
  • 外部贡献者通过 SSH 进行操作,代码所有者设置 golang 二进制文件。
  • 补丁请求更新通过 RSS 接收。
  • format-patch工作流中,贡献者和所有者在代码中创建新提交和生成补丁。
  • 可利用git notes进行评论但较粗暴,建议以代码形式发送评论。
阅读 12
0 条评论