Firefox Development Is Moving From Mercurial To Git (groups.google.com)
from Chewy7324@discuss.tchncs.de to linux@lemmy.ml on 06 Nov 2023 22:49
https://discuss.tchncs.de/post/5907911

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

APPROACH

In order to deliver gains into the hands of our engineers as early as possible, the work will be split into two components: developer-facing first, followed by piecemeal migration of backend infrastructure.

Phase One - Developer Facing

We’ll switch the primary repository from Mercurial to Git, at the same time removing support for Mercurial on developers’ workstations. At this point you’ll need to use Git locally, and will continue to use moz-phab to submit patches for review.

All changes will land on the Git repository, which will be unidirectionally synchronised into our existing Mercurial infrastructure.

Phase Two - Infrastructure

Respective teams will work on migrating infrastructure that sits atop Mercurial to Git. This will happen in an incremental manner rather than all at once.

By the end of this phase we will have completely removed support of Mercurial from our infrastructure.

#linux

threaded - newest

TCB13@lemmy.world on 06 Nov 2023 22:52 next collapse

Although we’ll be hosting the repository on GitHub

Why aren’t they using a self-hosted instance of Gitea? This makes no sense move to Github of all places.

Chewy7324@discuss.tchncs.de on 06 Nov 2023 23:01 next collapse

Agreed. They could’ve hosted nearly any git forge since they’ll keep using bugzilla and other workflows as is.

otter@lemmy.ca on 06 Nov 2023 23:45 next collapse

Could be familiarity? I saw an article go by recently about how projects that aren’t on GitHub suffer from lack of contributions. Although that matters more for smaller projects, Mozilla is a beast and could probably pull people off GitHub if it wanted to.

Also if anyone should be trying to build up an alternative to GitHub, it should be Mozilla

dinckelman@lemmy.world on 06 Nov 2023 23:49 next collapse

If you are at a skill level, where you can meaningfully contribute to a project like this, registering for an alternative git provider should not be an obstacle

lolcatnip@reddthat.com on 07 Nov 2023 00:39 collapse

Obstacle? No. Annoyance? Yes.

russjr08@outpost.zeuslink.net on 07 Nov 2023 02:26 next collapse

I agree with this in a lot of cases, but I’m not sure about this case - Mozilla won’t be accepting PRs over GitHub from what I can tell.

antrosapien@lemmy.ml on 07 Nov 2023 03:36 next collapse

Git desperately needs something like activity pub. That’s how it should have been from the beginning

emax_gomax@lemmy.world on 07 Nov 2023 11:00 next collapse

ForgeJo?

richieadler@lemmy.myserv.one on 07 Nov 2023 15:45 collapse

The J is lowercase, -ejo is an Esperanto suffix meaning “place”.

TCB13@lemmy.world on 07 Nov 2023 12:03 next collapse

Maybe you can convince Gitea guys to work on that? After all they’re the leading open-source alternative.

deur@feddit.nl on 07 Nov 2023 15:31 next collapse

Lets just say it’s coming… soon :)

sir_reginald@lemmy.world on 07 Nov 2023 21:13 collapse

and it was lol. Git was designed to work using email and plain text patches. No nonsense, no closed platforms. You can still use git that way.

andruid@lemmy.ml on 10 Nov 2023 21:43 collapse

It’s super cool that it supports this, heck I’ve used it when no other options were there (and thank git I could! It made a nightmare into just a little more work instead).

I will say though, it’s most of the other software forge features that people normally talk about adding Activity Pub support for (issues tracking, merge requests, tracking forks, CI tooling, handling documentation, etc).

lukas@lemmy.haigner.me on 07 Nov 2023 17:20 collapse

Pull people off GitHub? I get the impression from others that contributing to Mozilla projects, particularly Firefox, is a painful experience. But afaik one former Mozilla project uses GitHub for everything: Rust, the programming language.

Gecko@lemmy.world on 07 Nov 2023 10:16 next collapse

They already use GitHub for a bunch of other projects. See github.com/mozilla/ and github.com/mozilla-mobile/

bamboo@lemm.ee on 08 Nov 2023 15:40 next collapse

It’s the most widely used platform that the most people are familiar with that they get to use likely for free. Newer projects of theirs are also hosted there. Why would you say it makes no sense?

merthyr1831@lemmy.world on 11 Nov 2023 18:14 collapse

Hosting the public repo? I heard that the GH repo is just a mirror

dinckelman@lemmy.world on 06 Nov 2023 23:19 next collapse

Out of all the possible Git choices, they chose one of the worst options. I am very curious about the reasoning for that. Could have been a Mozilla-hosted Gitlab instance, or something else like Gitea

[deleted] on 06 Nov 2023 23:54 next collapse

.

bassomitron@lemmy.world on 07 Nov 2023 01:29 collapse

Why do you say GitHub is the worst choice, out of curiosity?

dinckelman@lemmy.world on 07 Nov 2023 02:30 collapse

Especially lately, incredibly poor performance, and constant outages. Plus if you’re an owner of a private repository, I don’t want them to train their asshole AI based on my code, without my knowledge

Thorned_Rose@kbin.social on 07 Nov 2023 04:02 collapse

And Micro$oft

moon_matter@kbin.social on 07 Nov 2023 04:41 collapse

At least when it comes to Git I'm not too concerned. What could MS possibly do to you? Maybe vendor lock in via the issue tracker? They aren't using it and it's not exactly that hard to migrate off of it in the first place.

Spectacle8011@lemmy.comfysnug.space on 06 Nov 2023 23:30 next collapse

I wonder if the same is going to be true of Thunderbird. Thunderbird actually requires you use Mercurial to contribute at all, rather than managing both git and Mercurial.

That being said…it’s kind of odd to me how swiftly Mozilla of all companies/orgs is to embrace a code forge hosted by Microsoft for their main software. Surreal, even.

blindbunny@lemmy.ml on 07 Nov 2023 02:48 next collapse

Wtf is wrong with gitlab…

ExLisper@linux.community on 07 Nov 2023 10:04 collapse

Nothing, it works fine.

blindbunny@lemmy.ml on 07 Nov 2023 13:13 collapse

Then why didn’t Firefox use their power to support a git that’s not owned by Microsoft?

ExLisper@linux.community on 07 Nov 2023 13:32 collapse

I don’t know. Because they are not angry with Microsoft anymore and github better fits their workflow?

[deleted] on 07 Nov 2023 03:23 next collapse

.

PipedLinkBot@feddit.rocks on 07 Nov 2023 03:23 next collapse

Here is an alternative Piped link(s):

GitHub is Trash

Piped is a privacy-respecting open-source alternative frontend to YouTube.

I’m open-source; check me out at GitHub.

Lord_ToRA@lemmy.world on 07 Nov 2023 04:32 next collapse

I agree that PRs are problematic, but that doesn’t make GitHub “trash”.

Also, that dude is so obnoxious and really seems to like to make broad generalizations of his opinion like it’s fact.

Scorpion3869@lemmy.ml on 07 Nov 2023 07:50 next collapse

and really seems to like to make broad generalizations of his opinion like it’s fact.

None of what Brodie said is baseless, even if some are more opinion than fact. He sight’s sources for a reason.

Lord_ToRA@lemmy.world on 07 Nov 2023 09:22 collapse

He sight’s sources for a reason.

I’d hope so. It wouldn’t be good if they were blind.

Anyway, I didn’t question the accuracy of what he said, just that his manner of delivery is obnoxious and portrays an attitude of self-importance. It feels like he’s yelling at the viewer with hostility.

Scorpion3869@lemmy.ml on 07 Nov 2023 12:05 next collapse

He’s literally talking to the viewer the same way the vast majority of YouTubers speak, he’s just Australian.

Lord_ToRA@lemmy.world on 07 Nov 2023 16:39 collapse

the same way the vast majority of YouTubers speak

“Everyone else is doing it” is not a free pass. Absolutely none of the creators I watch speak like that, and I can list quite a lot. It’s obnoxious.

Scorpion3869@lemmy.ml on 07 Nov 2023 17:03 collapse

  1. The video is 2y old.
  2. He’s Australian.

Cut the man some slack.

Lord_ToRA@lemmy.world on 07 Nov 2023 20:49 collapse

Why do either of those matter towards being obnoxious?

Are all Australians obligated to be like that? Two years ago people were supposed to make videos acting obnoxious?

Scorpion3869@lemmy.ml on 07 Nov 2023 22:08 collapse

Right now, I’d say you’re the one choosing to be obnoxious.

Lord_ToRA@lemmy.world on 07 Nov 2023 22:26 collapse

Because I’m answering you with logic?

Scorpion3869@lemmy.ml on 07 Nov 2023 23:03 collapse

Because you’re being obnoxious.
Caring this much about how some YouTuber speaks is literally obnoxious and portrays an attitude of self-importance.

Lord_ToRA@lemmy.world on 08 Nov 2023 00:01 collapse

You’ve clearly just devolved into ad hominem attacks. Does your ego really hang on whether or not your YouTuber friend is perceived the way you want?

I just pointed out that the dude is obnoxious and you’re over there trying to defend him with complete nonsense.

Move on, buddy.

Scorpion3869@lemmy.ml on 08 Nov 2023 07:04 collapse

Move on, buddy.

🫴

Spectacle8011@lemmy.comfysnug.space on 07 Nov 2023 12:08 collapse

Aussies tend to be quite direct. It’s basically our natural state. I get how it can be perceived as hostile, but I don’t actually think Brodie is very abrasive. He seems like a pretty relaxed guy.

jaybone@lemmy.world on 07 Nov 2023 10:25 collapse

I’m just curious, why are PRs worse on GitHub compared to other git hosting services?

Rustmilian@lemmy.world on 07 Nov 2023 12:21 next collapse

Instead of using valid commit messages they just slap on “#42” which isn’t valid anywhere other than the GitHub web UI.

IAm_A_Complete_Idiot@sh.itjust.works on 07 Nov 2023 21:55 collapse

Also, GitHub PRs atleast to me feel like they encourage reviewing changes by the total diff of the entire PR, and not each commit. I don’t want a slog of commits that don’t add any value - it just makes doing things like reverts more annoying. Stuff like Gerrit and phabricator enforce reviews by making you review individual commits / changes / whatever you want to call them and not branch diffs.

bamboo@lemm.ee on 08 Nov 2023 15:48 collapse

GitHub has an option when merging a PR to “squash and merge”. This option squashes all of the commits on the PR branch into a single commit and cherry-picks it on top of the base branch. We use this by default in our open source projects at work. Most people are not gonna go through the effort of making a well defined patch series the way it would be required for a Linux kernel contribution. Most changes aren’t that big though and so it doesn’t really matter. Send as many commits as you want in the PR, I’ll just review the diff as a whole and squash it when I’m done. Workflows should adapt to user preference, not the other way, and this is a good example of that.

IAm_A_Complete_Idiot@sh.itjust.works on 08 Nov 2023 16:20 collapse

How much of that is what GitHub encourages and how much of that is what Users prefer? Plenty of users seem to enjoy phabricator / Gerrit for code review in practice precisely because of their workflows.

bamboo@lemm.ee on 08 Nov 2023 17:27 collapse

Well squash and merge isn’t default or pushed in any way. It’s an option, and we chose to enable it ourselves because that’s what works best for us. It’s what works well for many other projects too, which is why many choose to enable it instead of the default merge commit.

IAm_A_Complete_Idiot@sh.itjust.works on 08 Nov 2023 20:19 collapse

Yeah, but phabricator and Gerrit are entirely separate workflows from GitHub, and a lot of people prefer that workflow because it leads to encouraging better histories and reviews. It helps you in getting rid of the “fixed typos” type of commits, while still letting you make larger PRs.

GitHub obviously does let you keep a clean git history, but the code review workflow in GH just doesn’t encourage reviewing commits.

bamboo@lemm.ee on 08 Nov 2023 20:44 collapse

I think the idea here is that reviewing individual commits is irrelevant if the plan is just to squash it all down. Each PR corresponds to a single change on the main branch in the end, the fact there was a main commit followed by a half size “fixed typos” and “fixed bug” commits doesn’t actually matter since it will be blown away in the end. The process results in the same clean history with good individual commits on the main branch, just as if the user squashes those commits locally before pushing it up to the code review platform.

IAm_A_Complete_Idiot@sh.itjust.works on 08 Nov 2023 21:24 collapse

Right, but squashed commits don’t scale for large PRs. You could argue that large PRs should be avoided, but sometimes they make sense. And in the case where you do have a large PR, a commit by commit review makes a lot of sense to keep your history clean.

Large features that are relatively isolated from the rest of the codebase make perfect sense to do in a different branch before merging it in - you don’t merge in half broken code. Squashing a large feature into one commit gets rid of any useful history that branch may have had.

bamboo@lemm.ee on 09 Nov 2023 00:29 collapse

I agree, and GitHub allows choosing how to merge each PR individually if you need to do something different for a specific PR. Large PRs like that are at most 1% of our total PRs, and we review those more per-commit and use a merge commit instead of a squash. By default we optimize for the other 99%.

RegalPotoo@lemmy.world on 07 Nov 2023 09:55 collapse

… which is part of why they aren’t using GitHubs pull request feature to land changes?

Rustmilian@lemmy.world on 07 Nov 2023 12:10 collapse

“at this time”

Meaning they’re planning/considering to in the future.

kogasa@programming.dev on 07 Nov 2023 12:39 next collapse

That is not what that means

[deleted] on 07 Nov 2023 12:43 collapse

.

kogasa@programming.dev on 07 Nov 2023 13:27 collapse

I’m only a native English speaker, so guess I could be interpreting it wrong.

You should try being a native English reader.

What it means is “they will not be accepting pull requests at this time.” Whether or not they are open to changing this in the future is not specified. They have not specifically stated that this is off the table, nor have they stated this is their intent.

[deleted] on 07 Nov 2023 13:29 collapse

.

kogasa@programming.dev on 07 Nov 2023 13:35 collapse

No. They’re just not publicly saying it’s off the table. Whether they’re entertaining it internally is a totally different question.

[deleted] on 07 Nov 2023 13:38 collapse

.

kogasa@programming.dev on 07 Nov 2023 13:42 collapse

Okay? Is this supposed to change something?

[deleted] on 07 Nov 2023 13:48 collapse

.

kogasa@programming.dev on 07 Nov 2023 13:49 collapse

How does the opinion of your supposed internal contact at mozilla affect the basic English interpretation of the public announcement?

[deleted] on 07 Nov 2023 14:09 collapse

.

kogasa@programming.dev on 07 Nov 2023 23:37 collapse

You’re quite the lunatic. I’m obviously not defending GitHub PRs, or saying Mozilla should or should not use them. I said “we are not open to PRs at this time” is not the same as “we will be open to PRs in the future.” The truth of that statement has absolutely nothing to do with whether or not Mozilla is, in fact, open to using PRs in the future. But there’s no point in telling you that, because you’re clearly unhinged. Have a good life.

[deleted] on 08 Nov 2023 06:44 collapse

.

RegalPotoo@lemmy.world on 07 Nov 2023 20:31 collapse

And I’m sure you’ve got a long history of submitting patches to Firefox given your strong opinions on the process Mozilla uses to manage this?

Rustmilian@lemmy.world on 07 Nov 2023 21:38 collapse

Nobody here needs “a long history of submitting patches to Firefox” to have an opinion on the tools used to manage the project. I assume that most here sharing their opinion don’t and yet you need not scroll far. You merely need some knowledge and experience with the tools, be it in personal, corporate, FOSS, etc. projects. Besides I don’t spend my free time helping FOSS projects just to use it to be like “my opinion better” that’s literally just the “appeal to authority fallacy”. But if you must know, I have helped here and there throughout the years under various different aliases/accounts. (Why “various aliases”? because I enjoy helping not some meaningless credit, it’s just how I am.)

RegalPotoo@lemmy.world on 07 Nov 2023 22:02 collapse

So what you are saying is that as someone who has never worked on the Firefox codebase, you still somehow know more about managing contributions to one of the largest FOSS projects in the world that has been running pretty successfully for the last 25 years?

Idk, maybe try a bit of humility - like if it looks like they are making a weird decision, maybe it’s not because they are dumb and you are very smart, maybe it’s because they know stuff that you don’t?

Rustmilian@lemmy.world on 07 Nov 2023 22:17 collapse

First off, not what I said.
Second off, I never called them dumb. I actually happen to have a good relationship with them, so I take offense to what you’re implying. I mearly stated that I don’t like GitHub and gave some legitimate reasons. Which btw : <img alt="1000000723" src="https://lemmy.world/pictrs/image/996dfb6f-1734-4f5b-9bab-e914eeeb3031.jpeg"> <img alt="1000000724" src="https://lemmy.world/pictrs/image/c137730d-892d-41e0-a659-7a7b92e62e7a.jpeg"> <img alt="1000000728" src="https://lemmy.world/pictrs/image/0cc450ee-3e01-47e6-9989-719249c26eaf.jpeg"> Maybe the one who should learn humility is you.

Hexadecimalkink@lemmy.ml on 07 Nov 2023 03:59 next collapse

Would have been amazing if they federated with Forgejo and supported federated git like they’re doing with mastodon.

uis@lemmy.world on 07 Nov 2023 12:33 next collapse

  • 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

Whyyyyy? Why github?

kogasa@programming.dev on 07 Nov 2023 12:35 collapse

Reviewing PRs costs money/time

uis@lemmy.world on 07 Nov 2023 14:44 collapse

Edit: added “Why github?”

kogasa@programming.dev on 07 Nov 2023 23:41 collapse

Fair point. I would say on a personal level that GitHub actions is quite nice to use, especially with the marketplace. But I’d be surprised if switching version controls also entailed a CI/CD change for Mozilla, so I can’t think of a good reason.

aport@programming.dev on 07 Nov 2023 18:28 next collapse

I’m amazed people are still using Mercurial. I worked on a few hg projects about a decade ago and it wasn’t a very good experience. It was easy for people who used subversion, but if you were even halfway familiar with git you just missed a lot of functionality.

kixik@lemmy.ml on 07 Nov 2023 21:11 next collapse

Mozilla being Mozilla, I’d guess. They should have gone sel-hosted with sourcehut, or at least gitlab. Or if not self-hosted, the choice should have been at the least gitlab or better, given it allows to chose DCO over CLA. But perhaps not everyone cares… I remember when gitlab introduced DCO, and how that helped debian and gnome to migrate to gitlab. After allowing DCO, other projects migrated as well.

I’m not that fan of gitlab, and I’d prefer sourcehut for open source projects, but if wanting something closer to github, then gitlab might be the answer. But Mozilla is a corp, maybe they don’t care much about these things, and as a corp, perhaps they were looking for CLA sort of contribution any ways…

Chewy7324@discuss.tchncs.de on 07 Nov 2023 23:07 collapse

I also think gitlab hosted by Mozilla Foundation would have been a better solution than github.

Mozilla Corporation is owned by the Mozilla Foundation, so their incentives aren’t that of a corporation but a non-profit.

andruid@lemmy.ml on 10 Nov 2023 21:59 collapse

I would love to see the Mozzilla foundation double down on ActivityPub and host a Forgejo instance or work with Codeberg for hosting.

I wonder how much Github being the primary place for FOSS source code limits people around the world from joining the movement.

Chewy7324@discuss.tchncs.de on 11 Nov 2023 01:39 collapse

I’d also like to see an open platform for their source code, but Github is undeniably the preferred platform for most developers, so I understand Mozilla’s decision.

So long as only the source code is hosted on Github I don’t think it limits people to contribute. Bugs and features are still tracked with the existing tools.

soulfirethewolf@lemdro.id on 07 Nov 2023 21:22 next collapse

Dang, I was really hoping that they would stop using bugzilla and switch to something like GitHub/GitLab/Gitea issues instead. Perhaps also put things like feature requests there as well and have one place to contribute to Firefox

bamboo@lemm.ee on 08 Nov 2023 15:43 next collapse

It’s rather bold of many of the commenters in this thread to assume they know the needs of Mozilla and their developers rather than those people themselves. GitHub makes complete sense, even if it doesn’t live up to some people’s desires for free software purity.

doink@lemmy.world on 08 Nov 2023 17:35 next collapse

This is great. Honestly it is the best option.

csolisr@communities.azkware.net on 08 Nov 2023 21:22 collapse

I wonder if they’ll consider Codeberg as their future Git host of choice. GitHub is less than ideal in terms of digital sovereignty, GitLab also has some questionable leadership. Codeberg seems like the most solid alternative to these so far.