供应商散列
作者: wolfgangwalther创建于 2026年4月17日更新于 2026年9月6日
标签hasql
正如在https://GitHub.com/PostgREST/postgrest/pul/4434#讨论 r2471974421中简要提到的那样,我们希望不再把`hasql'作为依赖。 上游储存库最近看到大量使用(大量支持)LLMS书写的承诺,v1.9.3.1是在此之前的最后一个版本.
这让我们感到不安的原因有很多,也有很多,我们为什么想因此远离它. 然而,这个问题不是讨论这些原因的地方——这个问题涉及我们如何实施这一变化,而不是“为什么”。
我目前的想法是:
- 将 " hasql " 改为v1.9.3.1。 这需要更新我们的Nixpkg依赖性和GHC版本,我有一些长期PR在4182和4193中开放. Nixpkgs已经准备好这些, 所以我计划现在完成它们,然后也开始使用4797。 PR为:#4829
- 供应商`hasql',v1.9.3.1, 以及来自生态系统的其他软件包,我们正在使用这些软件,并将其纳入我们的储存库和工具。 https://GitHub.com/PostgREST/postgrest/pull/5084 (英语).
- [ ]把卖家的"hasql"剥去,取出我们实际上没有用来保存代码的一切,我们需要保持前进,缩小.
在这种情况下,我会"复仇" 散列密码,而不是叉出它。 这意味着,我想把这个代码 整合到后灰熊的回放本身。 这有几种优势, 我们并不打算提供这个叉子 供其他人使用 我们当然不想保持稳定的接口和什么的。 如果不能单独披露这一一揽子计划,这永远不会成为一个问题。
- 我们需要的基础设施要少得多,但是我们可以利用我们已经拥有的尼克斯发展环境。 ——在最后一步去掉卖家代码时,我们实际上可以使用PostgREST特定代码覆盖来识别可以去掉的东西. 如果我们的测试套装没有覆盖的话 我们很可能不需要它
我的想法是保留上游的回购历史 把它们合并到我们自己的回购历史中 和我们如何将回购文件合并到主回购中非常相似 我们可以把这些东西放在src/Hasql',以反映我们仍将拥有的不同Hasql'和`PostgREST'命名空间。
我不知道我们需要维持多少个上游测试 或有多少个将是多余的, 因为它们是E2E测试 通过我们自己的测试套房.
内容来源: PostgREST/postgrest