Firefox Development Is Moving From Mercurial To Git

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
MajorHavoc,

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.

Gallardo994,

I don’t use version control

Well that’s a bummer. I guess some people love to live on the edge.

FooBarrington,

My version control strategy is the same as my birth control one: if things start to go bad, pull the plug

lemmyvore,

The fact that people still use Subversion is the real crime.

merthyr1831,

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

RockHornet,

It’s Perforce I think, not svn.

possiblylinux127,

They should move to forgeo

Pulpogarden,

Codeberg anyone?

TWeaK,

So it’s not really moving from one to the other, it’s already on both and they’re closing the less popular one.

lemmyvore,

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.

kameecoding,

why didn’t they go to Gitlab though? now they will be hosted by microsoft

merthyr1831,

the github repo is a mirror to their internal source hosting. github is just the most accessible to a wide audience

QuazarOmega,

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

angrymouse,

Yup, I noticed that too. But I got that you can’t fight all the wars.

lemmyvore,

That’s basically what the GitHub repo will be, a mirror from which people can download the latest code. Mozilla dev flow does not use GitHub infrastructure and they don’t plan to.

TWeaK, (edited )

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.

stolid_agnostic,

Downvotes without explanation as to why they think that doesn’t make sense.

ahriboy,
ahriboy avatar

Mozilla should have their own Forgejo instance instead

floridaman,

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.

cypher_greyhat,

👍👍👍

tempest,

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.

taladar,

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.

tempest,

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.

taladar,

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.

morrowind,
@morrowind@lemmy.ml avatar

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

kautau,

Be the change you want to see. Start an open source project using mercurial. Host it somewhere here

wiki.mercurial-scm.org/MercurialHosting

lemmyvore,

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.

PieMePlenty,

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.

sizzling,

I miss using tfvc. Everything except for branching worked pretty well in visual studio.

Branching worked fine if you didnt have more than 2 or 3 too.

Sadly branches are pretty useful so git it is.

kameecoding,

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

tgxn,
@tgxn@lemmy.tgxn.net avatar

100% this. Git is defacto for good reasons. 😂 Feel free to try the others out though 👍

thomask,

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.

morrowind,
@morrowind@lemmy.ml avatar

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.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • firefox@lemmy.ml
  • GTA5RPClips
  • DreamBathrooms
  • thenastyranch
  • magazineikmin
  • osvaldo12
  • ethstaker
  • Youngstown
  • mdbf
  • slotface
  • rosin
  • ngwrru68w68
  • kavyap
  • tester
  • cisconetworking
  • megavids
  • InstantRegret
  • khanakhh
  • cubers
  • everett
  • Durango
  • tacticalgear
  • Leos
  • modclub
  • normalnudes
  • provamag3
  • anitta
  • JUstTest
  • lostlight
  • All magazines