3 ms·
Fossil is the SCM I always wish I were using, but for the benefit of external collaborators, I stick with Git and GitLab (previously, GitHub). Fossil is a lovel
by cmrx64 10y ago
Fossil is the SCM I always wish I were using, but for the benefit of external collaborators, I stick with Git and GitLab (previously, GitHub). Fossil is a lovely, small piece of software that does exactly what I want in a nice and simple way. It's fast and uses SQLite for everything, making it easy to programmatically extend it and munge its internal data.
- maxpert 10y agoSQLite usage makes me wonder how will it behave over time with millions of commits. Also makes me wonder how will it handle distribution.
- mixmastamyk 10y agoIndeed, what are the consequences of that choice, vs. git and hg?
- alvil 10y agohttps://www.reddit.com/r/PHP/comments/59na74/sqlite_as_the_only_database_for_website/ https://www.reddit.com/r/PHP/comments/59na74/sqlite_as_the_o...
- BeetleB 10y agoTo be honest, I'm very wary of using SQLite for storage for anything long term. Over the years I've had a few SQLite databases become corrupt in various software I use. Always a headache.
- rogerbinns 10y agoSQLite has had corruption bugs but they have been exceeding rare. Far more often it has been other factors that caused SQLite to become corrupt (ie it is a victim not the cause). https://www.sqlite.org/howtocorrupt.html https://www.sqlite.org/howtocorrupt.html https://www.sqlite.org/testing.html https://www.sqlite.org/testing.html
- planteen 10y agoJust curious, were you running with ECC RAM on the box?
- david-given 10y agoThere's a writeup here about scaling issues in moving NetBSD pkgsrc to Fossil: http://fossil-scm.org/index.html/event?name=be8f2f3447ef2ea3344f8058b6733aa08c08336f http://fossil-scm.org/index.html/event?name=be8f2f3447ef2ea3... But that was, like, 2011, so I have no idea if it's still valid or not.
- david-given 10y agoYeah, I feel exactly the same way. For me, the turning point was discovering hg-git, which allows me to use hg as a git client; so I get all the network effects of GitHub but without needing to, you know, actually have to use git. But I still miss Fossil. I like the simplicity, and the feature set (although last I looked it still didn't do rename tracking), and the immutable nature of the database... I particularly liked the way that it's also a webserver. Being able to have your project web in a branch and when you want to make it live you just atomically update a tag is beautiful. The wiki I never used much, preferring to use manually version-controlled markdown files instead. The bug tracker... actually works pretty well, but it needs a lot of setup before it looks and feels anything other than ropy. (Although this may have changed. When I stopped following fossil it was undergoing a big UI overhaul.) If it supported bidirectional git sync, I'd switch back in a heartbeat. Update: having just fetched the latest version from Debian, there's lots of new stuff. 'fossil fusefs' lets you mount the repository as a read-only filesystem, which is cool. There's better support for private branches. There's a monster machine-readable interface based around json data packets. You can now have unversioned but synced files? Possibly this is for big binaries where you don't care about history? There's a 'fossil stash'. There's full-text search. You can export bundles of changesets so you can pass them around (pull requests, basically). Oh, and 'fossil praise' and 'fossil blame' are synonyms. It looks like there is support for git bidirectional sync, but it looks a bit hacky: https://www.fossil-scm.org/fossil/artifact/027298d991dec3a7 https://www.fossil-scm.org/fossil/artifact/027298d991dec3a7