Torvalds Merges Support for Microsoft's NTFS File System, Complains GitHub 'Creates Absolutely Useless Garbage Merges' (zdnet.com) 77
"Linux creator Linus Torvalds has agreed to include Paragon Software's NTFS3 kernel driver, giving the Linux kernel 5.15 release improved support for Microsoft's NTFS file system..." reports ZDNet, adding that the driver "will make working with Windows' NTFS drives in Linux an easier task — ending decades of difficulties with Microsoft's proprietary file system that succeeded FAT...."
"But he also had some process and security lessons to offer developers about how to code submissions to the kernel should be made." "I notice that you have a GitHub merge commit in there," wrote Torvalds.
He continued: "That's another of those things that I *really* don't want to see — GitHub creates absolutely useless garbage merges, and you should never ever use the GitHub interfaces to merge anything...GitHub is a perfectly fine hosting site, and it does a number of other things well too, but merges are not one of those things."
Torvalds' chief problem with it was that merges need "proper commit messages with information about [what] is being merged and *why* you merge something." He continued: "But it also means proper authorship and committer information etc. All of which GitHub entirely screws up."
TechRadar supplies some more context: One of the shortcomings Torvalds highlighted are GitHub's concise, factually correct, but functionally useless, commit messages. For instance, GitHub's commit message for Paragon's merge read "Merge branch 'torvalds:master' into master", which didn't impress Torvalds one bit...
Torvalds also had some pertinent security advice, perhaps useful in light of recent software supply chain cyberattacks that the Linux Foundation wants to address by improving supply chain integrity through tools that make it easier to sign software cryptographically. As Torvalds points out, this is particularly important for new contributors to the Linux kernel. "For GitHub accounts (or really, anything but kernel.org where I can just trust the account management), I really want the pull request to be a signed tag, not just a plain branch," Torvalds explains...
Torvalds suggests Paragon do future merges from the command-line.
"But he also had some process and security lessons to offer developers about how to code submissions to the kernel should be made." "I notice that you have a GitHub merge commit in there," wrote Torvalds.
He continued: "That's another of those things that I *really* don't want to see — GitHub creates absolutely useless garbage merges, and you should never ever use the GitHub interfaces to merge anything...GitHub is a perfectly fine hosting site, and it does a number of other things well too, but merges are not one of those things."
Torvalds' chief problem with it was that merges need "proper commit messages with information about [what] is being merged and *why* you merge something." He continued: "But it also means proper authorship and committer information etc. All of which GitHub entirely screws up."
TechRadar supplies some more context: One of the shortcomings Torvalds highlighted are GitHub's concise, factually correct, but functionally useless, commit messages. For instance, GitHub's commit message for Paragon's merge read "Merge branch 'torvalds:master' into master", which didn't impress Torvalds one bit...
Torvalds also had some pertinent security advice, perhaps useful in light of recent software supply chain cyberattacks that the Linux Foundation wants to address by improving supply chain integrity through tools that make it easier to sign software cryptographically. As Torvalds points out, this is particularly important for new contributors to the Linux kernel. "For GitHub accounts (or really, anything but kernel.org where I can just trust the account management), I really want the pull request to be a signed tag, not just a plain branch," Torvalds explains...
Torvalds suggests Paragon do future merges from the command-line.
No, no it isn't (Score:1)
No, this is virtue signalling by inept editors trying to say "but we still love you, linux weenies, look, we posted some random snark from Linus!!1!" Of course they only post snark this mild because it involves microsoft somehow. That's these editors to a tee.
It's like being a sportscar factory, turning out a SUV, and finding out aspirational soccer moms are suddenly a huge market. Well, not really like that actually. But anyway, slashdot is not really for nerds as the old guard would understand the term.
Re: (Score:1)
Anyway, I'm really waiting for some snowflakes to start whining that Linus' advice amounts to command line-ism and is prejudiced against GUI users. Because it keeps them from getting their Valuable Contributions approved, just because they used visual studio for linux with github plugin!
That's the very thing that entered my mind when I read the article
I'm expecting Linus to come out next week with a retraction, apologizing for his (spins the woke wheel) "Internalized misogyny" Linus complains he never mentioned women.
"That simply proves internalized misogyny, Mr Torvalds, and we don't accept your apology any way."
Re: (Score:2)
The lesson is, if you let hateful nutjobs define the rules of your society, you're gonna get hateful nutjobs defining the rules of your society.
Such people are not for the rights of anyone. They are not even "feminists". They are a tiny loud insane subset of a subset of a subset.
Why exactly do you obey them? What exactly can they actually do?
I surely do not. The blue haired Twitter check-list crew has no power over me.
But they are as much fun to ridicule as far right Covid deniers Expiring from something they don't believe in.
Who cares if nutjobs "cancel" you for other nutjobs. They are all nutjobs! They are not part of society, but part of a future wing at a mental hospital! Just exclude them from everything you do. For bullying, sexism, abuse, hate, and probably soon terrorism.
s/spotlight/banhammer/g
Torvalds made the mistake of apologizing and changing his "tone" earlier. The looks will now always be there to remind him of his transgressions.
You are right about how they might end up institutionalized. Considering that atypical antipsychotics have become mainstreamed the last few years. Rexalti, Latuda. That mi
Re: (Score:1)
Note how the "News for nerds, stuff that matters" tagline got removed from Slashdot a loong time age. Around some time after BizX took over (and made "scams for tards" apparently the new unofficial motto ;). .../> A semantic link to give machines a way to understand the site structure. Which, I think, you can't even see in a "modern" browser anymore.
You can only still find it, if you search the HTML source. Turns out it is a title parameter for a <link rel="top"
Re: (Score:2)
Re: (Score:2)
Re: (Score:1)
Re:Is this really that newsworthy? (Score:5, Informative)
NTFS in Linux kernel? Definitely newsworthy.
Re: (Score:2)
Of all the crap being posted to this site, THIS is what you object to?
You may be too young on here, but this is literally what Slashdot is for.
Re: (Score:2)
Well, it's what one particular person objects to. That's not surprising. Most things are objected to by someone.
Re: (Score:1)
Huh? (Score:2)
> Torvalds suggests Paragon do future merges from the command-line.
How will that help improve commit messages?
Re: Huh? (Score:5, Insightful)
If you merge yourself from the cli, you can pass any lotion you want to git, including a real commit message, and the commit author will be you. Whereas when you merge with github, you have nearly no control and end up with anonymous commit with useless comments.
Re: (Score:2)
Re: Huh? (Score:5, Insightful)
Who cares. Get the code merged and move on.
Said by someone who's obviously never worked on a large project that required any traceability.
Re: (Score:2)
What manner of traceability are you suggesting is lost by github merges?
When the PR submitter presses 'Squash and merge', you end up with all the PR commits squashed into a single commit, and the GitHub user that pressed the button is labeled as the author. This is the same level of authorship information that you're going to get out of using the `git` cli to perform the operations to create a squash-merge. The web UI even lets you edit the commit message that will be applied to the final commit -- it pre-f
Re: (Score:3)
Since that is not what Torvalds reports seeing, perhaps you need to educate the Paragon Software developers in how to do this properly.
Re: (Score:3)
Squash and merge is also an idiotic paradigm where bisectability over a sustained line of development of an out-of-tree branch is desirable. It's one thing if you're submitting something untested and spend a couple of commits trying to get it working before you're left with the polished version (which a lot of GitHub PRs seems to follow), and where you've developed and had something working for a lengthy period of time in which the changes you've been asked to make for upstreamability are just a few things
Re: (Score:2)
Undoubtedly, the Github UI is a poor tool choice if you truly need octopus merge. I still don't understand the discontent with the platform though, given that it just as readily permits manual merges via the CLI.
It seems more like this is a complaint against the Github-flow pull-request methodology. You don't have to use that method if it doesn't work for the type of project you're working upon. In my experience, it works pretty darn well for microservice development with a 2 week sprint cycle - the changes
Re: (Score:2)
Absolutely, the criticism was more directed at the kinds of commits/merges generated (and encouraged) by the GitHub workflow, rather than GitHub as a whole. There is certainly nothing stopping you from using the workflow-based merge for merging changes to specific branches and then doing the rest of the merging via the CLI, you'd just have to make sure that whoever is opening the PR knows not to squash/rebase in their own tree prior to opening a PR. That in itself, however, could be rather counterintuitive
Re: Huh? (Score:4, Interesting)
Unfortunately for them, GitHub wasn't created purely to service the Linux kernel
GitHub may not have been, but Git was, or aren't you aware that Git's author is Linus himself [wikipedia.org]?
If the author and core developer of the software around which your business operation runs and sells service for, said business operation being basically some pretty screens (web or otherwise) atop that software, informs you you're doing it wrong, you're doing it wrong.
Re: (Score:2)
I guess it depends how you want to look at it. Git was created specifically to deal with this problem, and to provide a migration path off of BitKeeper, which up until that point most closely aligned with the kernel development methodology (it was also possible to merge across multiple lines of development in CVS and perforce beforehand, but the merge quality of CVS and its magic branches was at times even worse than just doing it by hand - limitations with overlapping views in perforce and its non-standard
Re: (Score:3)
Anybody who has worked on a big and/or important project cares. A lot. The whole point of change management is to know who made what change why, and to be able to check that years after the fact.
So GitLab then? (Score:5, Insightful)
Also, Microsoft doesn't own it, Microsoft won't try to merge it with Microsoft Teams in the future, etc.
Re: (Score:2)
Well they haven't because...wait for it...it's open source. Best way anyway since one is suppose to have a local copy to begin with regardless of what one's using is to sync back and forth with the remote repository.
closed-source GitHub vs open-source GitLab (Score:4, Informative)
While I jest about Microsoft potentially integrating closed-source Github with Microsoft Teams and Office, what are the odds of it not happening? Did you know Microsoft paid 26.2 billion dollars for LinkedIn? [msn.com] Think of all the synergies.
GitLab has always published it's own source-code, and has always allowed you to run your own server on all kinds of different platforms.
Re: (Score:2)
Well some already get the source code, but it was leaked [arstechnica.com] in 2020.
Re: (Score:1)
What the hell do you guys think you need a hosting platform for your git projects, more so even a web-based one,
when the whole point of git is that it's decentralized and there is no central repository and you don't need any crap frameworks or protocols for it?
A file system, git, a good text editor, and some way of messaging around patches is all you need. Ideally by just mounting directories a la 9P, but e-mail or an IM tool with a CLI interface are fine too.
My "hosting platform" is a file server. Anything
Re: So GitLab then? (Score:2)
Gitlab (and hub) are more than just a git repo. It has some ci/cd, issue tracking, graph visualization, etc.
It also acts as a cheap out free offsite backup and easy way to share your code with others.
All that can be done in various other ways, of course. With gitlab doing all that easily, and the fact that it's open source and can be hosted as you want, i don't see much downsides, especially if you self host it or in my case, if you use one hosted by a trusted non profit.
Re: (Score:2)
Gitlab can be even hosted on a Raspberry Pi and work well. It also groks GPG signed commits, which are useful for defense in depth, especially when a Yubikey is used to sign commits.
Of course, don't forget other Git servers like Gitea and GOGS. Those work well, but signed commits are quite useful to have, and Gitlab understands those.
Re: (Score:2)
Re: (Score:2)
I'm not a huge MS fan, having been a *nix-exclusive user for over 20 years, but MS has done a pretty good job with software they've bought like Skype. They haven't cancelled it, haven't forced users into their own products, etc.
If google has bought it, it would have been cancelled years ago.
Re: (Score:1)
Met a homeless Jewish girl last summer.
I'll make sure to tell her. --.--
Re: (Score:2)
Github is a PoS, period (Score:1)
Re: (Score:2)
he's still managing the kernel. also, what you are correctly appreciating isn't a random whim, it's basic source code hygiene, regardless of who yells it. automation messing up version control is uncool.
that said, he's been always yelling. i wish him a long and yelly life! :D
Re: (Score:1)
It's just called being normal over here in Europe. At least in the north.
You are free to say it's crap if it's crap or point out somebody's flaws, because you are expected to be fully confident that everybody means well and likes you, and even if they don't, you do. And because it's a sign of a lack of self-confidence, and hence immature and childish to be "offended". It is the result of parents failing to give you a healthy self-love and confidence and being over-"protective".
It is very refreshing, once yo
P.S.: Important typo: (Score:1)
"Reacting IN a way that reflects that".
Never rely on spell checkers alone, and don't edit at the last minute. ;)
Re: (Score:1)
tl;dr: America needs to learn some good old jantelagen.
Re: (Score:2)
Europe?
What state is that in?
North? Like near Wyoming?
Re: Gotta love Torv'olds' (Score:1)
If you can't even correctly split code changes into atomic commits and manage merges and rebases then you don't belong in a top-tier development team.
Don't fear the rebase (Score:3)
Re:Don't fear the rebase (Score:5, Funny)
That’s one reason why Visual Sourcesafe was a superior product. By having file level locking of checked out code there are no merge commits, hence there can be no merge commit bugs! Eliminating an entire class of bugs is the smarter design.
Ok. Ok, here’s the /S. And yes, I used VSS enough to know all about how bad it was. So no need to try and school me on it.
Re: (Score:2)
what a hill to die on ...
you're actually right, but in most modern environments source file locking is simply not an option and i have a car analogy to prove it: if you limit speed to 4km/h you end car accidents forever, completely. that's thousands of premature deaths avoided daily. except that idea is not going to float for some reason.
Re: Don't fear the rebase (Score:2)
There is a better way: have the owner of the code review and merge the changes.
Since there is a single owner, it serializes naturally.
Re: Don't fear the rebase (Score:2)
Re: Don't fear the rebase (Score:2)
There would be a backup as well for when he's unavailable.
It's not really a bottleneck at all so long as you split things into manageable sub-projects.
Re: Don't fear the rebase (Score:3)
And here I thought rebasing onto the main dev branch before merging wad standard practice.
Rebasing creates exactly the same conflicts as merging, so instead of doing the merge and having to fix the conflict in the merge commit, or have gitlab/hub fuck your history of you try to merge from the web interface, there is no reason not to rebase and fix them on the branch.
And the second advantage is that if your branch has several commits and you merge without rebase, then those individual commits lose relevance
Re: Don't fear the rebase (Score:2)
Rebasing is only bad practice for the main branch.
It is the recommended workflow for topical/feature branches.
Re: Don't fear the rebase (Score:2)
Yeah, I've had arguments about to much history rewrites because of main branch rebasing.
I didn't get to ban it yet.
Microsoft support syndrome? (Score:5, Funny)
Sounds like any answer you get from Microsoft support.
As in this joke:
Re: (Score:1)
No Microsoft engineers are required to screw in a light bulb, nor is receiving support from Microsoft an option, because Microsoft will just declare Darkness to be the new Standard.
Of course this joke is older than Google and has aged a bit, but still.
Re: (Score:1)
Darkness isn't a bug, it's a feature.
If Microsoft really believed on openness (Score:3)
If Microsoft really believed on "open source", they would create the pull request and merge their code into Linux
To me, all this proves is they have an agenda.
Re:If Microsoft really believed on openness (Score:5, Insightful)
MS's NTFS code is for *Windows*. How well do you think that would merge into the Linux kernel? /s
The Paragon driver is, in effect, the MS blessed Linux NTFS driver. 'Old' MS would no doubt have 'had a word' with Paragon (who got unspecified help from MS with their driver, likely on the condition it was paid for, with MS getting a royalty, and thus not kernel merged).
'New' MS is perfectly OK with this and presumably must have released Paragon from any such obligations, otherwise they wouldn't be able to do this.
It appears that MS didn't actually patent bits of NTFS (unlike FAT32 and exFAT, whose patents eventually respectively expired or were opened for Linux royalty free use via the OIN). So including this driver doesn't bring patent risks (if there were patents, MS would have OIN'd them, or this would not be happening).
It's a great advance for anyone who needs to share data between Linux and Windows via NTFS (e.g. dual-boot setup), with a 4x improvement in performance over the NTFS-3g FUSE driver.
And no, MS has not changed from 'evil' to 'good', it's just that they are not bothered about trying to sabotage or limit Linux anymore, since that serves no purpose for them. Given that with WSL2 'real Linux' is supported from within Windows, and given their Azure cloud business profits from Linux adding extra interoperability features to Linux is presumably a positive for them.
Linux people: MS is *no longer the enemy*. MS *makes money* from Linux (although we still need to be vigilant, of course for MS attempts to 'steer' Linux - but other Linuxy companies like IBM and Oracle act as counterweights).
Re:If Microsoft really believed on openness (Score:5, Interesting)
As an iconoclast, I wish NTFS were the same version that is what MS is using for Windows 11 and Windows Server 2021. That, and the ability to use it as an option for a Linux distribution root filesystem.
It sounds crazy, but even though NTFS is not as flashy as ZFS or others, it is a filesystem that has stood the test of time, and not just have had bugs hammered out, but a lot of feature additions, be it deduplication, compression, file encryption, ACLs, alternate data streams, snapshots, and other items. NTFS can't detect bit rot, but it can be snapshotted for backups relatively easily, and because of how permissions work with it, it is easy to add UNIX style perms onto directories in that environment.
For external drives, it will be extremely useful. Right now, we only have ExFAT as a common filesystem between Macs, Linux, and Windows. Moving to NTFS gives a lot of data protection features like journaling, deduplication, and other items.
The only thing NTFS doesn't really have is bitrot protection with checksums.
Re: (Score:2)
Right now, we only have ExFAT as a common filesystem between Macs, Linux, and Windows
UDF also works. But no one gets royalties from that. But it does work on all operating systems.
Git is garbage (Score:2)
Ah, the irony of Linus complaining about git. The rest of us has to use this unnecessarily complex, confusing and completely unnecessary SCM which in no way is suitable for a team of 5 or 500 inside of a company. 8 years ago, we had multiple usable SCM systems that were easy to use. Their merge algorithms were clever and suitable for application level use or system level use. You only needed to know about 3 or 4 commands and they were all simple. The worst UI of any of the SCM's was P4 and that was onl
Re: (Score:1)
Git's features are designed to deal with the complexities of a large open source project. If you are not working on one of those, then Git isn't suitable and you are only using it because Linus does. The merge algorithms of Git are designed for a a system's level project. Meaning the merges almost never work by design. Because you don't want subtle bugs sneaking into your kernel code. However, that webservice you write has none of those complexities and you just end up having to needlessly handle merges yourself if someone else decides to cherry pick something. Seriously, if he wants Git to be useful to him, he needs to quit pushing it on app level devs. He needs to tell the truth and say, "Git is only for large OS projects and if you use it for your professional team, you are probably making a mistake". Oh, and Web PR Management existed before Git, your company just didn't license the Web GUI.
I sure wish you would show some examples because some of this is hard to grasp but just the same I do think you are right. I myself would put git in a conceptual sense right up there with gcc. I know, I know "whatever".., but I believe in convergence even if all you achieve is transparency, I just has to be that way.
Re: (Score:2)
Git was invented to be suitable for kernel development. Everything else is a third-party bolt-on. That people see the value and sell it for billions as a website is their problem.
"If you are not working on one of those, then Git isn't suitable"
Correct. So why are people using it for those things?
Choosing an unsuitable tool and then blaming the tool is a bit disingenous.
You know, my screwdriver is useless for knocking in nails! Bad screwdriver! They should fix it!
Google Code (Score:2)
I hate GitHub. Google Code was much better for small projects.
ah slashdot (Score:2)
is this the merge you guys said was "NFS"?