I guess that's not strictly necessary just to provide a binary update, but this feature could also be used to make the blockchain itself host the repo and its commits. Branches, pull requests, reverts, and everything could be stored as events on the blockchain. Differential commits do need that clear ordering of time to work.
Basically, imagine a decentralized version of Github.
Code is a well-chosen piece of logic to make sense as a whole. You can't just arbitrarily take to pieces of code and mash them together just because two random developers on the planet happened to write them one after the other in a sequential fashion of time.
E.g if you ask a classroom "What's 1 + 1 ?" then someone might say "3" right after you asked but before someone else says "2", but that does not make "3" right.
Proper order of commits is established by a MUCH more simple mechanism in fact: A git commit includes the hash of the previous commit in the history.
So the plain aspect of "storing some bytes" is needed, not a blockchain :) As someone else said, Git provides just that.
FWIW, censorship-resistant networks such as the aforementioned Freenet can and are used to publish Git repositories in a robust fashion. But no blockchain magic is required here either :)
A blockchain is overkill for this:
Its central goal of providing a clear ordering of events by the time at which they happened (t1 < t2 < t3) is not necessary to distribute software updates.
You merely want to be able to sort things by a number, the version of the software, which their author has provided on their own.
Remember, the blockchain was invented so Bitcoin could prevent double-spending of the same coins. I.e. if someone attempts to send the same money to multiple different addresses and thus fool multiple people into believing they were paid it can use the blockchain to determine which attempt was the first and ignore all others.
Such attacks would happen within milliseconds typically, hence the need for a strong mechanism against them.
This is not needed for merely distributing downloads:
You already trust the author enough that you would run their code, so you can as well trust them that the number which they say is the latest version in fact is the latest one. That's also because they have no incentive to fool you into using an older one, there's no money involved.
What you'd want instead is Freenet, the goal of which is preventing censorship and providing anonymity: https://en.wikipedia.org/wiki/Freenet
It's "updatable subspace key" (USK) address type is suitable here.