Linux and Git creator Linus Torvalds has criticised GitHub for creating “absolutely useless garbage merges”.
Torvalds’ comment can be viewed in an archive of a Linux development mailing list and was directed at Konstantin Komarov, Founder and CEO of Paragon Software, about the submission of its read-write NTFS driver for the upcoming 5.15 kernel.
“github creates absolutely useless garbage merges, and you should never ever use the github interfaces to merge anything,” wrote Torvalds.
Back in 2012, Torvalds gave a slightly more detailed explanation about why he doesn’t use GitHub for pull requests:
“github throws away all the relevant information, like having even a valid email address for the person asking me to pull. The diffstat is also deficient and useless.
Git comes with a nice pull-request generation module, but github instead decided to replace it with their own totally inferior version. As a result, I consider github useless for these kinds of things. It’s fine for hosting, but the pull requests and the online commit editing, are just pure garbage.”
Paragon Software’s driver improves interoperability with the native Windows file system NTFS. The submission process was started over a year ago but faced complaints that its 27,000 line code was too big to review.
Smaller chunks were submitted but it’s clear that Paragon has struggled to get to grips with the Linux kernel development process. Torvalds stepped in to offer guidance along the way. In July, Torvalds pointed out that – rather than just post the code to the fsdevel list – it would have to eventually be submitted as an actual pull request.
At the time, Paragon responded: “Thanks for this clarification as well. This piece of infromation [sic] has not been really clear for us until now. We’ve just sent the 27th patch series which fixes to the buildability against current linux-next. And we’ll need several days to prepare a proper pull request before sending it to you.”
That appears to have taken a bit longer than expected but Paragon submitted its pull request on Friday 3 Sept 2021. The company says the “current version works with normal/compressed/sparse files and supports acl, NTFS journal replaying.”
Aside from his advice not to use GitHub’s interfaces for merging, Torvalds also said that – while he’ll let it slide this time – the pull request should have been signed.
“In a perfect world, it would be a PGP signature that I can trace directly to you through the chain of trust,” he wrote.
The pull request was merged but not without a final comment from Torvalds.
“The initial pull often has a few oddities and I’ll accept them now, but for continued development you need to do things properly,” he said.
Want to learn about DevOps from leaders in the space? Check out the DevOps-as-a-Service Summit, taking place on 1 February 2022, where attendees will learn about the benefits of building collaboration and partnerships in delivery.