For a long time Firefox Desktop development has supported both Mercurial and Git users. This dual SCM requirement places a significant burden on teams which are already stretched thin in parts. We have made the decision to move Firefox development to Git.
- We will continue to use Bugzilla, moz-phab, Phabricator, and Lando
- Although we’ll be hosting the repository on GitHub, our contribution workflow will remain unchanged and we will not be accepting Pull Requests at this time
- We’re still working through the planning stages, but we’re expecting at least six months before the migration begins
So it’s not really moving from one to the other, it’s already on both and they’re closing the less popular one.
No. The primary source control is on Mercurial, with a Git interface. But since all patches must go through moz-phab (Phabricator) anyway the Git interface is basically read-only – you can use it to pull the code and you can use Git locally for your development, but you can’t use Git to push back into the main repo.
Now the reference repository will switch from their own Mercurial infrastructure to a Github (Git) repository, but the flow will remain the same (Phabricator rather than GitHub pull requests). Nothing will change for devs who were using Git. Devs who were using Mercurial will have to switch to Git.
why didn’t they go to Gitlab though? now they will be hosted by microsoft
Wierd that they’d switch to GitHub though, ideologically at least, I would think they’d host their own servers and, at most, have a mirror on GitHub
I love forgejo for Homelabbing purposes but Mozilla Foundation has the infrastructure to deploy something like GitLab, which has a much larger feature set compared to forgejo with more targeted toward the development work on large projects. But, Mozilla said the development flow would remain mostly the same as it is now, so most of the features in GitLab, Forgejo, or GitHub will remain unused.
I think the trouble is when users start committing to git, they can’t really be mirrors because each one needs to combine the inputs from both. A mirror would be just a copy of one to the other, this is a constant merging exercise which requires significantly more effort.
Some amusing context (as a big Mercurial fan, myself):
According to the 2022 Stack Overflow Developer Survey, Mercurial is the 4th most popular response, beaten only by Git, Subversion, and “I don’t use version control”.
Git was roughly 94x as popular as Mercurial.
“I don’t use version control.” was a bit more than 4x as popular as Mercurial.
Unreal engine basically requires it for decent version control iirc. i had a nightmare trying to get git to work on my university project a few years back
I don’t use version control
Well that’s a bummer. I guess some people love to live on the edge.
I always preferred mercurial as a user but all the tooling and everything else built in the last decade has been for git so it makes sense.
Mercurial had a nice UI on messy internals. Git had an initially not quite that nice UI on solid internals. It is obvious why Git won in the end.
Gits UI is still terrible.
The reason it is popular is because it is the VCS of the Linux kernel and github became the defacto open source social media site.
You have got that backwards. Github became popular because git was popular. Nobody forced people to use it and which VCS the Linux kernel uses barely matters to anyone not working on it.
The truth is that a “nice” UI that doesn’t allow you to know what actually happens because the internals are hard to understand is hard to trust with your code history that you still want to access 20 years later. Git is popular for the same reason Markdown, Textile,… are popular among programmers over WYSIWIG style rich text programs like Word.
As someone who’s too young to have used anything but git, it’s kinda sad that it seems I’ll never get to use anything else
I forgot what it was but I used something else trust me you don’t want to use that.
It’s a rather unpopular idea on lemmy, but sometimes a monopoly is good thing. git having a monopoly in version control is a good thing
There are very good reasons why Git prevailed. The previous generation of SCMs were terrible. Most of the ones that came around the same time as Git (distributed SCMs) got lots of things wrong. Git is complex but it’s flexible, it doesn’t try to force any particular way of doing things on you, which means you can make it work with any flow you can think of.
Nothing in tech stands still. If you want a glimpse of a possible alternative future check out Pijul. And I don’t know an example off-hand but the idea of doing version control on ASTs of program code rather than flat text is an interesting concept that hasn’t taken off yet.
Git seems to have reached a status of “good enough” to the point where it will probably stand still for quite a while. There just isn’t anything that offers benefit significant enough to justify the bother of switching (that I’ve seen so far, I’ve seen pijul before).
Plenty of things do stand still. We’re still stuck on qwerty keyboards for english.
Just find yourself an antiquated Microsoft aligned company and maybe you’ll get to taste the bitter fruit that is TFVC. I use it daily and it’s… Different.
Be the change you want to see. Start an open source project using mercurial. Host it somewhere here
👍👍👍