this post was submitted on 06 Nov 2023
327 points (99.4% liked)

Firefox

17811 readers
18 users here now

A place to discuss the news and latest developments on the open-source browser Firefox

founded 4 years ago
MODERATORS
 

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
all 34 comments
sorted by: hot top controversial new old
[–] [email protected] 77 points 11 months ago (1 children)

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

[–] [email protected] 37 points 11 months ago (1 children)

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.

[–] [email protected] -1 points 11 months ago (1 children)

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

[–] [email protected] 6 points 11 months ago

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

[–] [email protected] 53 points 11 months ago (4 children)

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

[–] [email protected] 37 points 11 months ago

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.

[–] [email protected] 2 points 11 months ago (1 children)

Mozilla should have their own Forgejo instance instead

[–] [email protected] 3 points 11 months ago

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.

[–] [email protected] 1 points 11 months ago

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

[–] [email protected] 0 points 11 months ago* (last edited 11 months ago) (1 children)

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.

[–] [email protected] 4 points 11 months ago

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

[–] [email protected] 45 points 11 months ago* (last edited 11 months ago) (2 children)

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.

[–] [email protected] 19 points 11 months ago (2 children)

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

[–] [email protected] 3 points 11 months ago (1 children)

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

[–] [email protected] 1 points 11 months ago

It's Perforce I think, not svn.

[–] [email protected] 13 points 11 months ago (1 children)

I don't use version control

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

[–] [email protected] 3 points 11 months ago

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

[–] [email protected] 35 points 11 months ago (2 children)

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.

[–] [email protected] 16 points 11 months ago (1 children)

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.

[–] [email protected] 6 points 11 months ago (1 children)

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.

[–] [email protected] 4 points 11 months ago

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.

[–] [email protected] 3 points 11 months ago (5 children)

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

[–] [email protected] 5 points 11 months ago (1 children)

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

[–] [email protected] 2 points 11 months ago

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

[–] [email protected] 4 points 11 months ago (1 children)

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.

[–] [email protected] 6 points 11 months ago

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.

[–] [email protected] 4 points 11 months ago

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.

[–] [email protected] 3 points 11 months ago* (last edited 11 months ago) (1 children)

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.

[–] [email protected] 1 points 11 months ago

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.

[–] [email protected] 1 points 11 months ago

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

https://wiki.mercurial-scm.org/MercurialHosting

[–] [email protected] 4 points 11 months ago

👍👍👍

[–] [email protected] -1 points 11 months ago

They should move to forgeo

[–] [email protected] -3 points 11 months ago

Codeberg anyone?