I would like to introduce you lovely OpenSource Lovers to a GIT-Alternative called FOSSIL that I also stumbled upon because of this Blog.<br> It’s basically opensource Github-in-a-box which means it’s an SCM with:
- Bug-tracker
- Ticketting-system
- Forum
- Wiki-system
- even a Chat-functionality
- Has built-in GUI
- Also has a Web-Server
- Self-Hostable like Gitea/Forgejo
& the best part it’s all in ONE STANDALONE FILE!!! which is extremely lightweight which you can copy to your $PATH & works even in crappy internet. how cool is that!!
However this tool supports a completely different style of development in FOSS called the “Cathedral-Style” whereas GIT suports a “Bazaar-Style”<br> The person behind Fossil is the creator of SQLite, <u>Dr.Richard Hipp</u> & they even made other projects to support Fossil like a PIC-Like language called PikChr<br> Well just in case; here’s a list of difference between Git vs Fossil<br> & guess what!! they even have a hosting service called CHISEL
Listen; Just check it out & use it for fun in your spare time even with the flaws it has (& Try out Darcs & Pijul as well)
What about git needs replacement?
Something new is new, and apparently that’s all tha-- SQUIRREL!
Seems like a historic artefact to me as well. And one of their mentioned points was “no sync via http” which even for 2006 makes me… hesitant.
And their history section ends in 2007, couldn’t find a feature comparison in their quick start guide.
Git is far from user friendly but that’s a design consideration from a decentralized architecture. Fossil will have the same considerations. People need to learn how to use Git.
The problem is there’s only one person who really knows how to use it: Linus.
I remember Linus saying in an interview that he’d only really been involved in git for the first 6 months or so and that the other devs had managed it without him since then. This makes sense - Linus’s creations aren’t successful because he’s the only person who understands them, they’re successful because there are so many other collaborators on them.
I’m so fuckin tired of hearing x is user unfriendly, it’s not intuitive enough.
Like fuckin yeah. Sometimes you have to actually learn something new to use something new when I first started driving it wasn’t user friendly. I had to learn how to do it
git is exactly as unfriendly as a distributed source control system that doesn’t shy away from power user commands needs to be
… sure it’s difficult to comprehend, but yknow what’s worse? getting into a bullshit situation and having broken garbage repos in every other “user friendly” system on the planet
Nah, git has a bad command line UX. Which is why the developers are working to make it better, i.e. moving from checkout to switch.
does he? i was under the impression that linus considers it just as stupid as everybody else and its existence is somewhat unsettlingly like a separate organism that lives in our collective brain activity…
This seems really cool!! And I love to see alternatives to git. But @MITM0@lemmy.world, you need to cool it on the replies. You’re making the Fossil community look hostile by association.
I’m not a part of the fossil community, also when none of the people here bother to properly check out the website & call it Ancient or see the why behind the tool & it’s development philosphy Yeah that pisses me off (So yeah I’ll “cool it” but it makes the GIT-community look like hostile hive)
Why don’t you tell me some more about what you like about Fossil… I’m assuming you’ve used other version control systems - how would you compare the feeling of actually using it in a collaborative workflow? How did you even come across Fossil in the first place?
This is my first time hearing about it, so would love to hear more straight from an actual user.
I imagine the creator envisioned something like a package wiki/docs mixed with direct access to the source code.
It can be carried around in your pocket & has the features of Github but open source Wiki, bug-tracker, ticketting, Forumn & even a chat for devs to use You can self-host it & it even runs on the most crappy internet Best part, it can track what you did in the past & stores in SQLite DB & can import & export to Git
Also I came across it via this blog
I like it even with the obvious flaws it has, plus it can be improved anyways
Fossil is more like a Jira replacement, and its built by one person with a severe case of NIH. Not necessarily a bad thing but I lived through it with Ubuntu, not really a fan of this philosophy.
I’ve worked with NIH VCS. Never again lol, I’ll stick to git until something else becomes so universally recognized that people en masse start jumping ship.
“NIH”?
I think “Not Invented Here”. Meaning he wants to build everything himself from scratch despite there being alternatives he can use instead.
E.g.: Building your own httprequest library rather than using the existing one which is good enough.
That makes sense, thank you.
With that attitude maybe we shouldn’t invent at all Why not go all the way
“To make an apple pie from scratch, first you must invent the universe.”
this is a very childish way to react, you ok?
If not learning new stuff is adultish, then I rather be a child
I think you’re reacting to the wrong person as I didn’t make the NIH claim, but merely explained its meaning. :)
No worries man; Also according to the creator of Fossil he WANTS Git to have the features that Fossil has. He WANTS people to fork his creation, if they like to. & Fossil uses SQLite to store data
Because of Ubuntu we get to have “Just works distros” & Fossil has features Git doesn’t
This thread might be the fastest I’ve ever seen discussion devolve from “that could be interesting” to just incomprehensible screaming.
Yeah wtf it’s like there’s like a wolverine loose in the comments section
These people don’t even bother checking out the site & some can’t be bothered to scroll to the bottom of the site & can’t even read
They only recently were made aware of this tool & within a few seconds they literally go “Muh Bloated” etc…
It’s no wonder
Seems pretty cool! I have to try it out. Thanks for sharing.
Tho we also got mercurial right?
Darcs does not require a central server, and works perfectly in offline mode.
Git can be used that way too. Am I missing something?
No, you are not. People regularly equate Git and GitHub, though.
Darcs came out in 2003—Git in 2005. It was novel at the time compared to the alternatives. Darcs started as alternative to CSV & Subversion, not Git. Unlike Git it works on patches, not snapshots which has advantanges in merge conflicts.
Git uses
mergetools, which do whatever you make them to. Patches can be created from snapshots, but snapshots are not guaranteed to be creatable from patches - you might not have original state.EDIT: it uses merge drivers.
Patch Theory operates under the premise that patches commute & order should not matter until there is a conflict. Git will throw fits if you pull in a patch at the wrong order giving you a different snapshot.
Specific merge tool can throw fits. Git doesn’t care about specifics of how merge operation is done, it just tells to merge driver to merge three files(A, B and common ancestor) and stops if driver reports an error.
Also to correct myself: merge driver, not mergetool.
Am I missing something?
No and, in fact, this was (and still is) a selling point of Git over the alternatives (e.g. Subversion) available at the time that required you to “check out” some code and no one else could check out/modify that code while you had it checked out.
no, this is exactly what git does
So GIT has a ticketting system, a Wiki, Bug-tracker built-into it along with a Version-tracker
It also has a Sync All command (I’m sure Git also has it Somewhere) ??
Why should git have a mediocre ticketing system instead of getting out of the way of dedicated ticketing systems?
Small personal projects just need a text file with a Todo list, large organisations might need something super heavy weight like Jira. If your VCS has a ticketing system it’s going to be dead weight for a large chunk of users, because there’s no one-size fits all solution.
Why shouldn’t git have one ? Why not avoid the bloat & Fossil was specifically made for get this small-medium size teams which can be scaled to bigger ones
I don’t think you understand what the word bloat means.
git add todo.md
Now do that without the markdown file
dont forget about jujutsu
I ‘forgot’ it on purpose.
The compatibility with Git means it is ultimately shackled to the design decisions fundamental to Git which require hacky workarounds. The maker of Pijul has pointed out some of the fundamental ways it can never handle patches is the manner of Darcs/Pijul, but I am not in the position to pull some of these quotes.
I would rather see revolution over evolution, & the weird ties to Google & hosting the project Microsoft GitHub rub me wrong.
Since jujutsu is Git-compatible it has very much replaced Git for me and is what I’m using for everything now. Its workflow is so good and miles ahead of Git.
I was trying out Pijul for a while before that and while it has a lot of great ideas and has a lot of potential due to the way its foundations work its interface is way too janky right now and missing features and nothing I’ve reported or the many changes I’ve submitted have been fixed/pulled since March. I’d really like it to be good but alas…
Oh Yeah I like Pijul as well & I fully agree with your point of breaking the Git Hedgemony
BTW, tell me more about Darcs I want to know EDIT: Boy GIT-Fanboys are clearly mad about other VCSs existing😅
Darcs is sort of like Pijul before Pijul. It is a little slower, but might not even affect you at your project size, but what it has instead is a longer history with more tooling & support—on the CLI, support from package managers, forge options. It ends up being my preferred option just for this reason even if Pijul has better performance, handles binary files, & the identity server is novel.
Is there any good videos on Darcs that I can watch ?
Probably the most notable modern video https://www.youtube.com/watch?v=2XQz-x6wAWk
Thanks
Learned fossil in college and I intensely disliked it
Why ? As in the intense dislike ?
Didn’t like mixing issue tracking with vcs. I also didn’t like any VCS hahaha, I was just writing shit in literally notepad
Oh ‽ well that I can relate to
Spent 5 minutes on the website and couldn’t get a peek at their code… The most fundamental thing, IMO.
fossil is made by the sqlite devs, for development of sqlite. this is not some amateur operation.
also, it’s by the sqlite people, so expect the code to be… odd.
& The code behind Linux isn’t ? People back then did some REAL sorcery with coding
back then? both codebases are fully modern. its more that sqlite uses a style that differs from the accepted norm quite a bit. that, and they don’t accept contributions.
Yeah it’s the cathedral-style, Opensource but closed contributions as in no PRs
Which is not really open now is it.
I would say its still open source. There is no requirement to be able to contribute modifications back. It is more about the availability of the code and what you can do with it.
PRs didn’t exist when open source was conceived.
You’ll actually have to talk to the devs to be included in the project This VCS favours a more horizontal organization where the devs know each other (so A <u>high-trust environment</u>)
Please don’t pretend as if OpenSource Devs don’t constantly complain about pesky PRs😅
Please don’t pretend as if OpenSource Devs don’t constantly complain about pesky PRs😅
<i>I</i>'ve <u>seen</u> much <b><u>more</u> complaints</b> about <a href=“https://0.0.0.0/random_img.tiff”>people</a> constantly <marquee>demanding</marquee> their specific <h1>annoyances</h1> to be fixed without ever <i>submitting <u>a single <b>line of code</b></u></i>. <i>Maintainers</i> are pretty much <b>universally</b> welcoming to code <h2>contributions</h2> <br><br><br><br><br><br>
I soooo hope this does something funky with someone’s Lemmy client
it’s not the most intuitive interface but there you go: https://fossil-scm.org/home/tree?name=src
There are tabs above like a browser
I love Fossil and use it for all my personal projects! I use syncthing to keep my all my repositories updated across devices and it works great!
I do wish I better understood either self-hosting or that there were more web hosts though, it would make collaboration easier when I feel like sharing. A git(hub) bridge could do it too I guess…
It’s interesting that OP is here talking about this being better than git because it has its own server, but the only person besides op claiming to use it is syncing with syncthing 🤔
The binary executable for Fossil is a single file (repos are also single files, sqlite databases). That one executable does all the VCS functions but it also has a built-in web server that will host repos as a little customizable website. That’s how you access the wiki, chat, forums, and ticketing system. You can also configure the repo, view timelines, view code, and all that stuff.
One can set up a proxy and publicly self-host the repo over the internet. That’s what the official fossil site is, a hosted repo of it’s own source code. I didn’t feel like setting up a local web host, an ngnx reverse proxy, figuring out vpn for remote access, etc etc. So i just use synching and only run locally, because it’s easier for me.
That’s another nice thing about fossil, it’s quite flexible and can grow with the needs of the project.
Opinions vary – you’re saying the single-file thing is good, but to me that’s quite a downside honestly. For backup purposes, if nothing else, I would rather my software not need to copy the entire file every time a tiny change to it happens. And all those other server based features, imo, are bloat that I wouldn’t use.
But you use Github
Look, no one is going to use this crap. Coming back a week later to try and have some weird gotcha moment will never change that
Looks like a lot of people are using it go to Chisel & see it for yourself & the whole point behind it is to use a different style of FOSS development.<br> Same applies to Darcs & Pijul
You should know better by now that this how Libre-Software works, you walk off the beaten path
I don’t know what you’re basing this “you should know better” on but I can safely say that anyone who is intimately familiar with any craft knows that when you choose an alternative ecosystem to live in from everyone else, there are tradeoffs and that you’re swimming upstream.
You may not care that others coming onto a project are frustrated or confused and have to learn something new that may not even provide any discernible value to them, but those individuals care. That’s clearly a concern for almost all project leaders. I mean, that is the only reason people used SVN for like 5-10 years after everyone knew it sucked compared to other things–
They really dreaded teaching dozens of devs a new thing, in addition to the work required to move things over. Hell, we switched from bit bucket to GitHub in my shop, the closest you can get to a drop in replacement job and that was painful because we had hundreds of repos to move.
Ps. If you had a listing of Git repos on a single page, it would need pagination to avoid crashing you browser/system. It would likely be millions of repos so I am not sure how that list you linked to is supposed to prove anything.
- open-source
- Ticketing
- Cathedral-style coding isn’t very Open-Source, if you believe the man who wrote the book and coined the term.
- it’s okay to post your own words instead of drunkenly jamming HTML into Markdown.
Cathedral-style coding isn’t very Open-Source
Cathedral vs bazaar is about development process, nothing to do with source code availability.
This - cathedral style development absolutely is a valid way to create free software and I don’t believe Eric S. Raymond (the guy who, I believe, coined the term) claimed otherwise, only that the bazaar model was “better.” Maintaining a bazaar style project is work, and it’s work that easily leads to burnout. We should normalize the idea that you don’t need to commit to being an “open source maintainer” to release a free software project; it should be enough to just release the source code (with or without binaries).
Make that Source Code With Binaries