logoalt Hacker News

AceJohnny205/14/20253 repliesview on HN

I love seeing these projects make use of the wide-open namespace/references that git provides (outside of the basic `refs/heads` for git branches and `refs/tags` for tags). It looks like they store the data in the `bugs` namespace [1] (so refs/bugs/foo).

Other projects also make use of alternate namespaces. The oft-forgotten built-in "git notes" puts stuff in the `refs/notes/` namespace (specifically in `refs/notes/commits`). Gerrit uses the virtual `refs/for/` namespace for receiving commits for review, stores project config in `refs/meta/config`, and stores User data in `refs/users/` in a special repo [2]. I'm sure others do interesting things.

Alternate uses of git's DAG model are fascinating.

[1] https://github.com/git-bug/git-bug/blob/bd936650ccf44ca33cf9...

[2] https://gerrit-review.googlesource.com/Documentation/config-...


Replies

michaelmure05/14/2025

Yes, this really meant to be some sort of framework for storing entities in git, handle the conflicts, and let you buld easily your own tool (or add more features to git-bug).

See also https://github.com/git-bug/git-bug/blob/master/doc/design/da... and https://github.com/git-bug/git-bug/blob/master/entity/dag/ex...

I'd love to see this used in the wild for other use cases.

imoverclocked05/15/2025

Is there a registry of namespaces to avoid collisions?

show 1 reply
farhanhubble05/15/2025

Wow!So this can be used for full blown project management too.

show 1 reply