7 ms·
If only we had a version control system that didn't rely on a central hub...
by kchoudhu 11y ago
If only we had a version control system that didn't rely on a central hub...
- petetnt 11y agoWe do. It's called Git.
- bsandert 11y agowhoosh
- Retr0spectrum 11y agoEdit: https://xkcd.com/1627/ https://xkcd.com/1627/
- tragic 11y agoI'm assuming it's the sound a joke makes when it goes over one's head.
- oneeyedpigeon 11y agoThere needs to be an xkcd about editing a comment such that old replies to it no longer make sense. I couldn't find one, though.
- slaman 11y agohe had one but he edited it.
- InclinedPlane 11y agothatsthejoke.jpg
- alkonaut 11y agoNow if only we had a convenient way of using a distributed VCS without a central hub.
- maze-le 11y agoDid someone say GitTorrent...? https://github.com/cjb/GitTorrent https://github.com/cjb/GitTorrent
- TeMPOraL 11y agoLooks exactly like what's needed. Is it safe enough though? I.e. can I rely on getting a non-maliciously-modified repo when I ask for particular SHA1? Also: sudo npm install --global gittorrent Cool! It automatically installs a local copy of half of GitHub! ;).
- maze-le 11y ago> Is it safe enough though? I'm not so sure about that. I've only used it once, an only to test its functionality, I didn't do any in-depth testing. Well I wouln't use it in production, but in a non-critical, small-scale project it could be worth a try...
- cjbprime 11y ago> I.e. can I rely on getting a non-maliciously-modified repo when I ask for particular SHA1? Someone could serve you a maliciously-modified repo, but Git itself would then reject those objects, since they won't lead to the SHA1 that Git knows that it's looking for -- you would keep trying other peers until someone gave you bits that match the correct SHA1.
- masklinn 11y agoThat sounds like a joke, but that's exactly the problem: the VCS has been distributed, but not all the services enmeshed around it: all the discussions (issues, pull requests, design debates, …). Github makes it easy to host git repositories, but so do a bunch of other services and it's not that hard to host your own either way or to set up trees of repository or multiple mirrors or what have you. The reason people use a central hub is all the meta-information and exchange about the code and the contributor communities. The repository on its own has very little value. And lest you think it's different for the kernel or whatever, a mailing list or an IRC channel are still centralised SPOF[0], when the ML provider goes down so does the project. [0] though possibly more resilient and easier to switch out of ones
- deleted 11y ago[deleted]
- ryan-allen 11y agoThat's the joke!
- hiby007 11y agoI think he was joking, he was referring to stackoverflow.com :D
- cytzol 11y agoWe do, it's called Fossil! http://fossil-scm.org/ http://fossil-scm.org/ Fossil tracks issues (tickets), documentation, and wiki pages at the same level as it tracks code, so when you clone a Fossil repo, everything gets downloaded to your local computer. You can then respond to tickets and perform repo maintenance offline, syncing everything to the server when you're back up. Edit: A few weeks ago I got a job a one-hour train ride away. I can commit, close tickets, and write docs on my way in, sync everything to the internet when I get to work, then do the same on my way back - even though I don't have a net connection during my commute. It works great. (Ok, not as good as not having to travel at all, but great nonetheless!)
- thecatspaw 11y agothe parent commentator was joking that git _is_ decentralised, but that we made it centralised again by relying on a small number of hosters (github, bitbucket and others)
- cytzol 11y agoHeh, don't worry, I got the joke. But I also got the joke the last time this was posted, and the time before that, and the time before that... This just keeps happening. It's not GitHub's fault that they keep getting DDoSed or have a network outage every now and again. But it's not a problem with no solution.
- popey456963 11y agoTo be honest, I can cope with Github's downtime, it is probably less than if I was hosting a Git solution myself and the service is much more reliable than all the other solutions I've tried (which are either lacking features or have bugs or have massive downtimes). Github is trying their best as far as I can see, they manage to fix the majority of issues within three hours and even during those three hours its not the end of the world because you can still code.
- simula67 11y agoMost developers will not be able to write code without being able to look up stuff on the Internet.
- amelius 11y agoSee IPFS. https://ipfs.io/ https://ipfs.io/
- kefka 11y agoOh, I agree. But I still think Git, even over IPFS, has significant failings. Mainly, how do I share the issues and other problems that Github has did their own GUI for? Fossil SCM seems to fit that bill. As another user said, they can address issues in a local, non-connected manner, and then merge the issues back to main. The last piece would be to use IPNS so you can have the same key for a changing package. I just hope versioning support gets added in soon (it's in the spec, just not done yet with go-ipfs).
- amelius 11y ago> Mainly, how do I share the issues and other problems that Github has did their own GUI for? I think this should not be done in the same system as where people store their source repos. Mixing the two is convenient, but can stifle innovation. Better to have flexible and well documented abstractions and good separation of concerns.
- dalai 11y ago> Mixing the two is convenient, but can stifle innovation. Could you elaborate? I think I've heard the argument before, but I don't really see how. These outages show up again and again, partly because people cannot access the project issues.
- amelius 11y agoWell, the argument holds for any big system. It is better to keep things modular and simple, so anybody can work on each of the components (in parallel), and improve each of the components, and replace them at will. Also keep in mind that protocols are much more important than the actual code implementing them (see git for a good example!)
- sureshn 11y agoits better to use fossil locally and have a mirror sync to github to run in the background. Its sad that git being distributed and github being a central place , sort of undermines the very purpose git was built for