Gerrit 的平台架构创新
一个裸仓库加上 SSH 就是最小的 Git 服务器,代码平台是在它之上补出来的。Gerrit 出自 Google“先评审、后合并”的传统,比 GitLab 更早,评审的单位是一个提交而不是一个分支,评审记录本身也写进了 Git。顺着这条线往下追:Gerrit 为什么用 JGit 自己做服务端,push 到 refs/for/main 时发生了什么,评审数据为什么从 SQL 搬进 Git,引用多到几十万个之后怎么存、怎么按权限过滤,合并时怎么保证原子性,索引和缓存怎么配合,以及多台机器之间怎么同步。