Jujutsu 的创建者已加入 ERSC
一家专注企业的源代码管理初创公司 ERSC 的新员工引发了对 Jujutsu(“jj”)的关注;它是一个兼容 Git 的版本控制系统,承诺以通用 undo、延迟冲突解决和更容易的提交重塑等特性带来更安全、更直观的工作流。评论者讨论了 jj 以 Git 为后端的设计如何相较以往的 Git 替代方案降低切换成本,而 ERSC 则旨在为大型 monorepo 和 AI 辅助开发构建下一代后端,而不是像 GitHub 那样的社交编程站点。讨论串还提到了围绕 jj 的 Google 贡献者许可协议的担忧、ERSC 带动画营销网站的性能与无障碍问题,以及企业是否会在这样一个基础性的工具层面接受新的供应商。
关于 ERSC、JJ 和 Google 的澄清
- JJ(Jujutsu)是一个采用 Apache 2.0 许可的 OSS VCS,目前使用 Git 的磁盘格式和协议,但算法和 UX 不同。
- Google 并不拥有版权;贡献者保留版权。Google CLA 赋予 Google 广泛的许可权,但不是版权转让。
- GitHub 组织从个人账户中迁出;Google 仍主要控制该组织,以继续维护 CLA bot,并持有“jj”商标。
- 这位新员工离开 Google 加入 ERSC,但仍是 JJ 的核心维护者。维护者有意在公司代表性之间保持平衡。
ERSC 的产品方向
- ERSC 将自己定位为“面向企业的下一代源代码管理”,而不是社交编程网站或直接的 GitHub 竞争对手。
- 重点领域:突破 Git 在大型 monorepo 上的限制、按目录的 ACL,以及公司范围的工作流,尤其是在“agentic”/LLM 密集的环境中。
- 他们正在构建一个新的后端(类比于 Google 的内部系统),并通过 Git 的 ingress/egress 以实现渐进式采用;JJ 是桥接客户端。
- 初期的 go-to-market 仅面向企业,提供销售/上手支持,不过不会明确阻止个人用户。CI 起初将是“自带”。
技术讨论:JJ vs Git(以及 Mercurial)
- JJ 提供:
- 一等公民级的冲突,存储在提交中,从而支持延迟、增量式的冲突解决。
- 事务性的操作日志,支持通用的
undo(适用于 rebase、merge、冲突解决等),超越了 Git 的 reflog。 - 当历史发生变化时,自动对依赖的提交/分支进行 rebase。
- 将工作副本、类似 index 的行为、stash 和冲突统一到一个模型中。
- 拷贝/重命名跟踪和其他功能正在积极开发中。
- 与 Mercurial 相比,JJ 旨在更快,并通过无缝的 Git 兼容性获得关注。
采用、UX 和工作流
- 粉丝表示,历史编辑(重排、拆分、堆叠提交)要容易得多,实验更安全,冲突处理也更好。
- 也有人认为,Git 的核心命令加上 GUI 已经足够,他们很少遇到 JJ 优势真正派上用场的问题。
- 关于 Git 的 UX 存在争论:一些人认为,一旦学会 VCS 理论,它其实还不错;另一些人则认为 JJ 的心智模型清晰得多。
- 可以在 Git 仓库上单方面使用 JJ;同事不必切换。TUI 工具(如 jjui)受到称赞。
许可、治理和所有权方面的担忧
- 一些人担心 Google CLA 和商标会形成“达摩克利斯之剑”,并可能成为投资者的红旗。
- 另一些人则认为,Apache 2.0、分布式版权以及可 fork/重命名的能力,足以缓解真正的锁定风险。
网站设计和性能反馈
- 许多人称赞新的 ERSC 网站美观且延迟低。
- 也有人报告在各种浏览器/操作系统上出现严重的 GPU 占用和糟糕的滚动性能;动画背景被认为是罪魁祸首,也是一个无障碍问题。
- ERSC 承认了这些问题,正在推出修复(包括移除/减弱动画),并计划尊重减少动态效果偏好。