Hacker News new | ask | show | jobs
by cloudhead 2022 days ago
The design of GitHub means that your canonical upstream is only accessible through the internet, and so are your issues, PRs etc. If you're offline, you can't access it, and if GitHub is down, same story.

Radicle, on the other hand, keeps all of this replicated locally, so push/pull works offline, and the code/social artifacts are replicated asynchronously, when you are online, but you don't need to be online to work with your project(s).

2 comments

GitHub has a pretty extensive API; it's not hard to write a simple script to clone all that data if you want to, or publish it somewhere else. I'd be surprised if there aren't already a dozen of those scripts floating around already.
That’s not the same. You’re talking about copying the data locally, but this still doesn’t let you create issues for eg. offline.
Why not? You can create issues with the GitHub API (and the CLI); it's not hard to imagine a tool which would "sync" issues from a local database or some such. The reason it doesn't exist is probably because there's not a lot of demand for it.

Come to think of it, it wouldn't even be that difficult to sync this database to someone else, too. Although to be honest this doesn't seem all that useful to me.

How does push/pull work off line? That sounds impossible. Just scheduling a push doesn’t actually push anything. That’s like commuting to my local GitHub repo and having a scheduled push/pull every 10 minutes then?
The reason you can push/pull works offline is that the database of radicle lives on your machine. Once you are online it will gossip with other peers to exchange updates of projects. This means that your workflow stays the same no matter connectivity and eventual the network convergences to communicate all relevant data. If you are interested in the details check out the docs: https://docs.radicle.xyz/docs/understanding-radicle/why-radi...