4 ms·
Would it be possible to build a gitlab-like ui that is completely decentralized? Instead of depending on (or paying $$$ for) some web UI that wraps standard git
by raffraffraff 3y ago
Would it be possible to build a gitlab-like ui that is completely decentralized? Instead of depending on (or paying $$$ for) some web UI that wraps standard git functionality, could we run something completely locally that keeps repos/branches in sync and provides the basic merge/comment/review functionally that most people use? In other words, let me host the most basic git server in the world and put the complexity at the client?
Edit: I wondered about using a separate Blockchain to maintain consensus on the "central" representation of the repo that we get from a "git server". This answer is useful, I think I'll digest it and ponder some more...
https://stackoverflow.com/a/59509859 https://stackoverflow.com/a/59509859
Edit2: I also wondered if anyone implemented git server as an extremely thin layer on top of s3, but the only project I found was abandoned many years ago.
- radarsat1 3y agoThere was an attempt at some point to build decentralized issue tracking into git: https://github.com/duplys/git-issues https://github.com/duplys/git-issues I was always a bit disappointed that it didn't catch on, but I realize it would require a UI and probably buy-in from companies like Github and Gitlab, whose whole business is based around the lack of these features in git, so it was DoA, unfortunately. Update: looks like that link above was a separate attempt from [1] and [2] [1]: https://github.com/dspinellis/git-issue https://github.com/dspinellis/git-issue [2]: https://github.com/MichaelMure/git-bug https://github.com/MichaelMure/git-bug
- cloudhead 3y agoWe’re working on this at https://radicle.xyz https://radicle.xyz — a blockchain isn’t needed
- _1tan 3y agoThere's radicle.xyz, although it seems like they abandoned their old GUI and moved back to a CLI for now.
- mike_hearn 3y agoWhat's wrong with a $5 VPS and using your IDE as the git UI?
- chriswarbo 3y ago> Edit: I wondered about using a separate Blockchain to maintain consensus on the "central" representation of the repo that we get from a "git server". There's nothing special about a "git server": you can clone/push/pull/etc. from any checkout you like (apart from shallow clones, which may not have the requested commits). You can do this using local file paths, or over SSH, or over HTTP, etc. For example, here's an old blog post describing my git setup (pushing commits between folders on my laptop, and syncing those to multiple mirrors (a self-hosted static file server and GitHub) when online): http://www.chriswarbo.net/blog/2015-06-06-more_git.html http://www.chriswarbo.net/blog/2015-06-06-more_git.html You might declare that some particular clone is the central repo for some project, but nobody has to care what you say: everyone's free to push/pull from each other, or send patches over email, regardless of what you've written on some blockchain or website. That's an advantage of git! Edit: If you want a verifiable mechanism to know what X considers to be the canonical version of Y, you can use "whichever commit of Y that's signed by X has the highest timestamp". That may work better with more anonymous p2p transports like https://github.com/dhappy/git-remote-ipfs https://github.com/dhappy/git-remote-ipfs https://scuttlebot.io/apis/community/git-ssb.html https://scuttlebot.io/apis/community/git-ssb.html