I like the idea of having all of those within the actual VCS, mostly because with Git you need centralized services like GitHub to provide that.
But I have to ask: Is it really a good idea? Seems like feature creep motivated by the wants of a single project (SQLite).
All of those could be (albeit awkwardly) backed with a git repo and a cron job. Wiki? Just make a repo with a bunch of Markdown or this-week's-favorate-markup-language files. Ticketing & bug tracking? Again, just a Markdown file for every ticket. Embedded documentation & technical notes? Those are just special wiki pages with different attributes. Forum and chat service? Do you want your VCS to do that? I get being able to hyperlink between files and conversations, but still.
I'd love to clone a repo and be able to view all the reasoning behind commits with the context of issues too. I know the commit message should cover this but sometimes it doesn't, or its too much context, or the context is limited to the opinion of the committer. I think all that information is relevant to projects and should have some chance to live alongside it. Stuff like git-bug exists, but then you still need participation from other people.
I really love the idea of radicle.xyz which is git + p2p + issues & patches (called `COB` - collaborative objects) all in your repo but getting the buy-in of the wider population seems extremely difficult, if not impossible. I think part of the attraction here specifically is nostalgia for me, it feels like its invoking the 90s/00s where it was all a big mesh network, information wanted to be free and you couldn't stop the signal.
Fossil also seems cool but the rest of the world is tied to git and I'm tied to jj now. I guess I really wish git themselves [sic] would push something forward, I think that's the only way it would really get broad acceptance. Forges could adopt it and try and special-sauce parts but still let you push/pull "COB"s.
The plan is to 1) finish the webUI and 2) accept external auth (e.g. github OAuth). Once done, anyone can trivially host publicly their own forge and accept public contribution without any buy-in effort. Then, if user wants to go native they just install git-bug locally.
Or, from Wikipedia, "The definition of what qualifies as "feature creep" varies among end users, where what is perceived as such by some users may be considered practical functionality by others." - https://en.wikipedia.org/wiki/Feature_creep
Hipp (the original SQLite author) also developed his own parser generator (Lemon) and his own editor (e). The former is also used by other projects.
Where do you store the different attributes? In the file-system? How do you manage consistency? Why put up with awkward cron solutions when you have a fully ACID database system right there to work with, which is portable across OSes, including ones which don't have cron?
If it helps any, don't think of it as a VCS but as an SCM system - one which includes version control.
I found https://github.com/chrislloyd/git-remote-sqlite as a way to achieve git-on-sqlite, which works by registering itself as a git "remote" helper.
Amusingly there exists a "Why SQLite Does Not Use Git" article (https://sqlite.org/whynotgit.html), but there is no corresponding "Why Git Does Not Use SQLite".
I think this assertion is too vague and arguably wrong. It's unclear which traits would lead a Git alternative to be claimed as better, and even if those traits, if they exist, are relevant. It's also unclear if the tradeoffs of switching tooling away from Git are worth whatever hypothetical benefit there is to be had.
I would make the bold claim that Git is undoubtedly better than any conceivable alternative, and state that the network effect is a consequence and not a side-effect. Anyone is free to try to argue against it by pointing out concrete arguments.
Sharing the repo state seems impossible without going through the (somewhat painful) multi-step process to tag and push commits into git, and you lose all of the value that jujitsu actually adds (e.g. no evolog, no saved conflicts, no anonymous commits). There is no sharing solution beyond this - no way for me to work on the same working state in two locations beyond rsync the entire folder tree, which is no solution.
A SCM in 2026 that only works locally without being a clunky way of talking to git doesn't seem like a solution ready for prime-time. Maybe the google-internal-only backend systems work better.
My main other pain points were a) zero integration with pre-commit hooks and zero ideas how to do so (yes, CI does this, but it's nice to get all the auto-formatting and sanity checks without pushing, waiting, pulling new commits), and b) Automatically picking up all changes is great except when it doesn't work in which case it is _horrible_ and takes manual unpicking at best. Remembered to add something to .gitignore before doing something in the working directory? Great! Just never ever try to checkout a commit from before you added the .gitignore because now it's permanently absorbed into the repo. Also, if you every accidentally have a secret in your repo directory then that's also permanently in there, as far as I can tell there is no way to manually verify that things are purged and all the commentary on the jujitsu discussion forums were "Just avoid doing this in the first place".
I don't really like git that much, but it works pretty well most of the time.
For my hobby projects I have used fossil for several years. It works great and I do not miss anything from git. It's simpler and just nicer to use.
If nothing else I felt like using the same version control system for over 10 years was getting boring. Needed something new to play with. See things from a new perspective. Like playing with a new programming language now and then, even when it is something I do not expect to get much real use out of.
xnorswap•1h ago
I wish it wasn't the case, but network effects are really important. Mercurial was a better DVCS launched around the same time as git but it lost out, not because "worse is better" but the network effects spreading out from the of the linux kernel itself.
grebc•1h ago
It’s not that big of a deal with a good UI. Reality is you just use whatever the people that pay you use.
kreco•1h ago
Fossil is used for one of the most deployed embeddable database. Not sure we can call it "irrelevant".
I get what your message is saying, however words have meaning, and being hyperbolic does not help anyone when we try to bring nuances.
> Mercurial was a better DVCS [...]
Totally agree.
karamanolev•1h ago
dist-epoch•1h ago
Maybe it is true that name is destiny after all.
dueyfinster•1h ago
jhasse•1h ago
megapoliss•37m ago
graemep•1h ago
I have recently returned to Fossil for personal stuff. IMO its better than git for one person projects and small teams. It was designed for a small team. What everyone else uses does not really matter for personal stuff. Nor does it matter if you are working with people willing to try something new. Nor does it matter to someone who can take a decision for a team.
It is also very easy to self host.
giancarlostoro•59m ago
People will call me crazy, but you can tell Claude Code what you need with Git on your local repo and it will spit out the terminal incantations, you can also... tell it to run them after you read them.
frenzcan•51m ago
yomismoaqui•38m ago
megapoliss•36m ago
charlie-83•39m ago
teekert•29m ago
pansa2•25m ago
Programmers use different operating systems, editors, languages - is there any reason we all have to use the same source control tool? We weren’t doing so before Git came along.
9dev•17m ago
Even before git, you generally had to use what your team was using, or the FOSS project you were trying to contribute to. So it's kind of a moot point.
TacticalCoder•13m ago
Yeah. I was using Mercurial and, reluctanctly, had to switch to Git. Now don't get me wrong: I was forced to use both CVS and SVN in a thankfully very distant past so I love Git. But I do miss Mercurial. We switched exactly for the reason you mentioned: Git simply won the market.
Git won, Magit is awesome. Then all the Github and whatnots. It's Git, Git and Git.
And never bet against Linus, either: the world runs on Linux (and that's a good thing) and every tech company in the world uses Git. That's just how it is.
Mercurial was a tiny bit better but not that much better that it'd compensate for the entire ecosystem and people gravitating towards Git.
lifetimerubyist•13m ago
nahname•11m ago
zzzeek•10m ago
Today my workflow is based on git + gerrit code review (which is heavily based around git), or in other areas github pull requests, and there is no such thing as a series of little commits that all hodge-podge together to form a particular change to the code, we tailor changes to be perfect, we push -f to keep each commit in the series to be a full and CI-tested story of a change, then we squash-merge them. My use with git is 100% all day things that were impossible with Mercurial back when I used it, if there are extensions for these things now, they are afterthoughts, git understood these concepts from the beginning.