No, Linus Torvalds Never Merges Code On Github!!

Brodie Robertson · Intermediate ·📰 AI News & Updates ·2y ago

Key Takeaways

Explains how Linus Torvalds never merges code on Github and how Git can be used to pretend like code was merged

Full Transcript

GitHub is a weird platform that lonus tools for a number of good reasons doesn't particularly like now it's no issue to use it as just any old server to host your code the Linux Cel does exactly that with one of its mirrors but when it comes to the actual tooling on GitHub it can create some kind of weird situations and this is a perfect example of that lonus tvols and the mainline kernel development never ever merges code through the GitHub interface that merge button on GitHub is never ever pressed GitHub can be used as a source for your patches to send up to Linux chel mailing list and there are a bunch of people that do that but GitHub is just treated as any other server that hosts your code but if they never merge through GitHub how do think like this happen merged this merged this merged this merged and the one I showed before this one also merged and to make it even clearer it even says it was merged by torold and this is his actual account this isn't some like impersonation account this is the actual account he has on GitHub but lonus does doesn't press the merge button this was not merged on GitHub now I'm sure that some of these users are operating completely in good faith for example this person here who made a PO request on GitHub and also sent the patches up to the Linux Kel mailing list but others here are likely exploiting a very amusing issue with how GitHub handles what it means for a poor request to be merged but even if you are operating in good faith the way that this happens is exactly the same okay let's talk about how this happens because this is definitely not the first time and definitely won't be the last time that something like this happens again the first thing you need to understand is a GitHub poqu does not actually exist in a GitHub por Quest is a concept entirely existent on G Hub itself and whatever databases they manag now git doeses have a concept known as the request pool this is something you can use and this is something that lionist had wanted the PO request system to be based off of to my understanding it's like partially inspired by it but what GitHub does with a por Quest does not interact with a git request pool and honestly it's fairly likely that you probably haven't interacted with either now the point I'm trying to make here is when you open a PO request when you close a PO request when you do anything with a GitHub pquest nothing special is happening with the underlying git repo obviously if you merge the code through GitHub through a PO request the code is going to get merged into the repo but merging it through that way to git looks exactly the same as just doing a regular git merge git has absolutely no no idea what a GitHub Pro request is all it sees is git commands are being run however in the other direction there are ways to make git interact with GitHub I talked about this in a private video on KL but there are keywords like fixers and closes if you include these alongside an ID you can then make get close a PO request or close an issue or fix an issue but there isn't a key word for mergers when these mer merges are being done this isn't something that is being done from the git side this is being done by ghub implicitly based on other information what's the information you might ask commit hashers if you use get for more than probably 3 minutes you're probably going to be aware that every single commit you make is given a mostly unique identifier just considering how big the address space is it's probably going to be unique this is done to ensure that even if two identical commits are made at different points in a Project's history those can still be addressed individually all of this nicely fits together when you're using GitHub as your development platform you make some code changes locally you then make a PO request on GitHub you discuss the changes and then merge it on GitHub but when GitHub is just being used as a Mir and merges are being done outside of GitHub things can get a bit weird like in the case of the Linux kernel let's imagine a scenario for a second so when you want to send patches to the Linux kernel you do so through the Linux kernel mailing list so let's say that's exactly what you're going to do now before they get merged by Linus tools through git you go and make a pquest on the Linux kernel GitHub and you attach the exact same series of patches that you also sent to the Linux Kel mailing list nobody is going to merge the PO request on GitHub so for now it's just going to sit open and basically just do nothing maybe you'll get some comments on there or some bot messages but it's not going to be merged later on though those patches you sent to the Linux interel maen list get merged by lonus into to the mainline git tree and then the mirror on GitHub is updated to include those patches you sent so now you have a situation where you have a set of patches that are merged into the kernel but you have the exact same set of patches with the exact same set of commit hashes that are sitting here in an open p request and this set of events is exactly the situation that causes this right here to happen you have an open p request with the exact set of patches that would just merged into the project so what should GitHub be doing with this open pquest should it just go and do nothing with it leave it there and let a developer clean it up that might work that's probably the easiest thing to do should they go and Market as closed well closed doesn't really make sense because it hasn't been closed that code is merged into the project so that's probably not the best thing to do either the absolute best possible thing they could do is what Forge Joe and giddy does which is have a manually merged button where you can indicate that this was merg outside of the tool we currently on and that completely resolves the issue but what GitHub decides is to use the merged indicator it uses for something merged on GitHub now this is not an issue if you are acting in good faith like we had this person here this is the person who authored the commits who then also made a PO request and also sent them to the Linux Kel meeting list the poor request they made on GitHub got marked as merged however this is where things get a little bit interesting commit hashes don't change when you clone a repo okay so what if for example you uploaded a copy of the repo to GitHub with the patches that you want to merge and then you open a PO request using your clone of the repo with the patches that you didn't author but still have the exact same commit hashers as the ones that just got merged into the kernel well you can do this where you can make a PO request where you were not involved in developing the code whatsoever if you go to the commits and you look at who actually made it this is a different person it was committed by a different person but GitHub does not care about who the author of the code is all they care about is are the commit hashers the exact same commit hashers if they are if those commit hashes exist in the repo Market as merged basically if you keep an eye on the Linux Kel mailing list and you know that a series of patches is about to be merged into the Kel you can then squat on those patches in a poor request on the Linux Kel GitHub and make it look like you were the person who made those patches and you were the person who got the merged is this a harmful thing to do not really everybody knows the Linux konel GitHub or at least they should apparently there's some people that don't hear the Linux Kel GitHub is not how development of the Kel is done nobody involved in the Kel actually cares about the GitHub outside of being a backup in case they lose all of their other backups what happens on the colonel GitHub doesn't really matter if you go through and look at a lot of the poor quests most of them are complete nonsense just trying to destroy the repo and nothing is really ever done with them because it doesn't really matter now don't go and do this on a project where the developers actually try to use the GitHub tooling and sometimes will merge things outside of GitHub that's annoying and you're probably going to get yourself banned from a project like that but when it's something like Linux this doesn't really hurt anyone is just a fun little side thing that people realize the GitHub interface let you do now I absolutely cannot take credit for realizing you can do this this video is primarily based on a comment and a Mastered on thread left by Hector Martin who you may know from the assah Linux project stuff they've done back in the home brew we days and a ton of other things have had their name attached to now the point of this video is to say that just because something is happening within the GitHub history that doesn't necessarily mean it's actually happening on git GitHub is just a kind of fancy in many ways wonky interface for interacting with Git itself and sometimes the choices they make lead to things that were never really expected to be possible to be very very easy to exploit but what do you think were you aware of this problem before have you ever seen it happen or maybe you were one of the people that have done this on the Linux konel GitHub I would love to know so if you like the video go like the video and if you really like the video and you want to become one of these amazing people over here check out the patreon scrubs lber Linked In the description down below that's going to be it for me and don't be [Music] stupid don't [Music] do something like this

Original Description

Don't be fooled by the little badge on Github, Linus Torvalds never merges code on the Github platform it is just used as a mirror however if you know some tricks with Git you can certainly pretend like you got something merged. ==========Support The Channel========== ► Patreon: https://brodierobertson.xyz/patreon ► Paypal: https://brodierobertson.xyz/paypal ► Liberapay: https://brodierobertson.xyz/liberapay ► Amazon USA: https://brodierobertson.xyz/amazonusa ==========Resources========== Github Pr 1: https://github.com/torvalds/linux/pull/10 https://github.com/torvalds/linux/pull/23 Github Pr 2: https://github.com/torvalds/linux/pull/23 Github Pr 3: https://github.com/torvalds/linux/pull/27 Github Pr 4: https://github.com/torvalds/linux/pull/88 Recent Post: https://github.com/torvalds/linux/pull/832 Mastadon Post: https://social.treehouse.systems/@marcan/112687121320786588 =========Video Platforms========== 🎥 Odysee: https://brodierobertson.xyz/odysee 🎥 Podcast: https://techovertea.xyz/youtube 🎮 Gaming: https://brodierobertson.xyz/gaming ==========Social Media========== 🎤 Discord: https://brodierobertson.xyz/discord 🐦 Twitter: https://brodierobertson.xyz/twitter 🌐 Mastodon: https://brodierobertson.xyz/mastodon 🖥️ GitHub: https://brodierobertson.xyz/github ==========Credits========== 🎨 Channel Art: Profile Picture: https://www.instagram.com/supercozman_draws/ 🎵 Ending music Track: Debris & Jonth - Game Time [NCS Release] Music provided by NoCopyrightSounds. Watch: https://www.youtube.com/watch?v=yDTvvOTie0w Free Download / Stream: http://ncs.io/GameTime #Linux #OpenSource #FOSS #LinusTorvalds DISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.
Watch on YouTube ↗ (saves to browser)
Sign in to unlock AI tutor explanation · ⚡30

Playlist

Uploads from Brodie Robertson · Brodie Robertson · 0 of 60

← Previous Next →
1 This Linux Patch Removes Spectre & Meltdown Protections
This Linux Patch Removes Spectre & Meltdown Protections
Brodie Robertson
2 Linux's Most Degenerate Terminal Application
Linux's Most Degenerate Terminal Application
Brodie Robertson
3 You Can Buy Modern Linux Distros On A DVD??
You Can Buy Modern Linux Distros On A DVD??
Brodie Robertson
4 Bypass Paywalls Vanishes From Firefox Addon Store
Bypass Paywalls Vanishes From Firefox Addon Store
Brodie Robertson
5 CoreJS: The Web & Open Source Are Broken!
CoreJS: The Web & Open Source Are Broken!
Brodie Robertson
6 Begone GTK4, Long Live The New King GTK5
Begone GTK4, Long Live The New King GTK5
Brodie Robertson
7 Flathub Finally Adds Much Needed Flatpak Feature
Flathub Finally Adds Much Needed Flatpak Feature
Brodie Robertson
8 Google Should Be Worried About ChatGPT Bing
Google Should Be Worried About ChatGPT Bing
Brodie Robertson
9 How To Never Improve The Linux Wayland Experience
How To Never Improve The Linux Wayland Experience
Brodie Robertson
10 Fedora Linux Unveils New 5 Year Roadmap
Fedora Linux Unveils New 5 Year Roadmap
Brodie Robertson
11 Linux Desktop Randomly Stuttering? Here's Why #shorts
Linux Desktop Randomly Stuttering? Here's Why #shorts
Brodie Robertson
12 Why We Need Even More Linux Distros!?!
Why We Need Even More Linux Distros!?!
Brodie Robertson
13 This Wayland Change Will Improve Linux Forever
This Wayland Change Will Improve Linux Forever
Brodie Robertson
14 Ubuntu Linux Was Once Spyware Says EFF & Stallman
Ubuntu Linux Was Once Spyware Says EFF & Stallman
Brodie Robertson
15 Rise Of A New Kind Of Linux Package Manager
Rise Of A New Kind Of Linux Package Manager
Brodie Robertson
16 Rolling Release Linux Distro Probably Isn't For You
Rolling Release Linux Distro Probably Isn't For You
Brodie Robertson
17 Ubuntu Flavors Put An End To Shipping Flatpak
Ubuntu Flavors Put An End To Shipping Flatpak
Brodie Robertson
18 WINE Will Finally Run On Wayland NATIVELY!!
WINE Will Finally Run On Wayland NATIVELY!!
Brodie Robertson
19 No ZDNET, Linux 6.2 WILL NOT Run On M1 Macs
No ZDNET, Linux 6.2 WILL NOT Run On M1 Macs
Brodie Robertson
20 Ubuntu Linux Announces New Kind Of Mini ISO??
Ubuntu Linux Announces New Kind Of Mini ISO??
Brodie Robertson
21 Fedora Linux Finally Kills Off Delta RPM
Fedora Linux Finally Kills Off Delta RPM
Brodie Robertson
22 Linus Torvalds Is Sick Of Useless Git Merges
Linus Torvalds Is Sick Of Useless Git Merges
Brodie Robertson
23 Arch Linux Bricks Dual Boot With One Kernel Change
Arch Linux Bricks Dual Boot With One Kernel Change
Brodie Robertson
24 Linux AppImage Finally Addresses Greatest Flaw!!
Linux AppImage Finally Addresses Greatest Flaw!!
Brodie Robertson
25 Refusing To Use Windows For "Religious Reasons"
Refusing To Use Windows For "Religious Reasons"
Brodie Robertson
26 GNOME Shell & Mutter Finally Drop GTK3!!
GNOME Shell & Mutter Finally Drop GTK3!!
Brodie Robertson
27 11 Documents Showing Microsoft Tried To Destroy Linux
11 Documents Showing Microsoft Tried To Destroy Linux
Brodie Robertson
28 Manjaro Linux Is The Joke That Never Ends
Manjaro Linux Is The Joke That Never Ends
Brodie Robertson
29 The New Ubuntu Linux "Flavor" We All Expected
The New Ubuntu Linux "Flavor" We All Expected
Brodie Robertson
30 NEVER Write Git Commit Messages With ChatGPT
NEVER Write Git Commit Messages With ChatGPT
Brodie Robertson
31 Why GNOME? Why Didn't KDE Takeover Linux?!?
Why GNOME? Why Didn't KDE Takeover Linux?!?
Brodie Robertson
32 Discord Tried To END This Reverse Engineered Server
Discord Tried To END This Reverse Engineered Server
Brodie Robertson
33 Mesa 23 Makes Linux Shader Stuttering A Thing Of The Past
Mesa 23 Makes Linux Shader Stuttering A Thing Of The Past
Brodie Robertson
34 Linux Kernel Broke A Feature NOBODY Uses!
Linux Kernel Broke A Feature NOBODY Uses!
Brodie Robertson
35 Manjaro Broke Asahi Linux... AGAIN!!!
Manjaro Broke Asahi Linux... AGAIN!!!
Brodie Robertson
36 Linux Hasn't Become Complicated & Limiting | Distrotube Reply
Linux Hasn't Become Complicated & Limiting | Distrotube Reply
Brodie Robertson
37 Ubuntu Linux's Steam Snap Is Almost Stable
Ubuntu Linux's Steam Snap Is Almost Stable
Brodie Robertson
38 Wayland Is Linux's Future, But Why Do I Care?
Wayland Is Linux's Future, But Why Do I Care?
Brodie Robertson
39 John Deere Refuses To Respect Free Software & GPL
John Deere Refuses To Respect Free Software & GPL
Brodie Robertson
40 Why BSD Documentation Is Just Better Than Linux
Why BSD Documentation Is Just Better Than Linux
Brodie Robertson
41 KDE Fixes Discord On Wayland Because Discord Can't
KDE Fixes Discord On Wayland Because Discord Can't
Brodie Robertson
42 Xorg Foundation Has A Serious Problem
Xorg Foundation Has A Serious Problem
Brodie Robertson
43 Manjaro Linux's Biggest Drama That Never Happened
Manjaro Linux's Biggest Drama That Never Happened
Brodie Robertson
44 I'm Leaving Arch Linux For A Better Distro!!
I'm Leaving Arch Linux For A Better Distro!!
Brodie Robertson
45 Red Hat Linux Once Featured A REDNECK Translation
Red Hat Linux Once Featured A REDNECK Translation
Brodie Robertson
46 Android Authority Doesn't Understand Linux or Android
Android Authority Doesn't Understand Linux or Android
Brodie Robertson
47 Switching To Wayland: Why I'm Daily Driving Hyprland
Switching To Wayland: Why I'm Daily Driving Hyprland
Brodie Robertson
48 Private Security Patching Is A Nightmare In Open Source
Private Security Patching Is A Nightmare In Open Source
Brodie Robertson
49 Xorg Vs Wayland Is Just A Technical Detail
Xorg Vs Wayland Is Just A Technical Detail
Brodie Robertson
50 Why Did Fedora Linux Drop Its Wacky Release Names?
Why Did Fedora Linux Drop Its Wacky Release Names?
Brodie Robertson
51 KDE App Theming On Other Desktops Is A Mess
KDE App Theming On Other Desktops Is A Mess
Brodie Robertson
52 Xenocara: That X11 Server That Isn't Xorg
Xenocara: That X11 Server That Isn't Xorg
Brodie Robertson
53 PopOS New COSMIC Desktop Has Me Excited Again!
PopOS New COSMIC Desktop Has Me Excited Again!
Brodie Robertson
54 Hilarious GNOME Archive Bug Finally Gets Addressed
Hilarious GNOME Archive Bug Finally Gets Addressed
Brodie Robertson
55 Rust Foundation Has A Serious Trademark Problem
Rust Foundation Has A Serious Trademark Problem
Brodie Robertson
56 Top 5 Best Hyprland Linux Features
Top 5 Best Hyprland Linux Features
Brodie Robertson
57 Installing Linux Software Is More Confusing Than Ever
Installing Linux Software Is More Confusing Than Ever
Brodie Robertson
58 Clipboard: Simple Unified Linux Clipping Tool
Clipboard: Simple Unified Linux Clipping Tool
Brodie Robertson
59 Solus Linux Returns From The Distro Afterlife
Solus Linux Returns From The Distro Afterlife
Brodie Robertson
60 uBlue Linux: Immutable Fedora With Batteries Included
uBlue Linux: Immutable Fedora With Batteries Included
Brodie Robertson

Related Reads

📰
LPKWJ Tech Report: Bitcoin Miners Power the AI Computing Surge
Bitcoin miners are powering the AI computing surge due to a critical power shortage, enabling decentralized computing facilities to become strategic assets for tech companies
Dev.to AI
📰
Should ChatGPT Pay for What It Learns?
Explore the legal implications of AI training on copyrighted content and its potential consequences on fair use and copyright laws
Medium · AI
📰
Should ChatGPT Pay for What It Learns?
Explore the legal implications of AI training on copyrighted content and its potential consequences
Medium · ChatGPT
📰
How Artificial Intelligence Is Changing Everyday Life
Learn how AI is transforming everyday life, from voice assistants to personalized shopping recommendations, and why it matters for professionals
Medium · AI
Up next
Instagram Story Hack: (EASILY) Save Your Brand Colors WITHOUT Needing the Instagram Edits App
Mariah Magazine
Watch →