Content-level diffs, three-way merge, and blame stay in libgit2 rather than being reimplemented in SQL, since libgit2 already has that support and works against the Postgres backends through cgo bindings. The Forgejo fork would be “replace modules/git with libgit2 backed by Postgres” rather than “replace modules/git with raw SQL,” because the read-side queries only cover the simple cases and anything involving content comparison or graph algorithms still needs libgit2 doing the work with Postgres as its storage layer. That’s a meaningful dependency to carry, though libgit2 is well-maintained and already used in production by the Rust ecosystem and various GUI clients. SQL implementations of some of this using recursive CTEs would be interesting to try eventually but aren’t needed to get a working forge. The remaining missing piece is the server-side pack protocol: the remote helper covers the client side, but a Forgejo integration also needs a server that speaks upload-pack and receive-pack against Postgres, either through libgit2’s transport layer or a Go implementation that queries the objects table directly.
回到北京后,高铭暄在医学院的院部机关做教务工作。他曾自我调侃:“刑法专业是搞不成了,以后就在院部机关混碗饭吃。”但在内心深处,高铭暄始终觉得自己是医学的外行,渴望回到法学的领域。。新收录的资料对此有专业解读
when told that they had 1684 fucked up certs,。新收录的资料是该领域的重要参考
Google 的 AppFunctions 也是同理。