We have a more advanced PR flow (stacking, round-based reviews), jujutsu support and we just launched our new CI system. Come join! https://tangled.sh/signup. The goal is to be the new town square for collaborating with friends and open source communities.
Just an fyi for everyone: while Tangled is built partly on top of ATProto, it differs from its component architecture widely, as the tasks that should be done by the AppView are offloaded to "knots", self-hostable servers specific to Tangled that do most of the Git heavy lifting.
It violates the "user data stays on the PDS" principle, as repo data stay on knots, not in PDSes. As far as I know, no other ATProto application has a similiar architecture.
You piqued my interest with the mention of jujutsu support. I just read the post on using it for code review [1] for stacked PRs and was really impressed, awesome work!
I've never used Gerrit directly, but I'm guessing that Jujutsu's change IDs are like a native version of what Gerrit does there.
I regularly (attempt to) do stacked diffs on GitHub with jj, and even with a bunch of automations it's still a clunky, awkward experience.
Glad you liked it! Yes, jj's change IDs are very similar to Gerrit's, but instead of a commit trailer it's now a header in the commit object itself. For example:
A few things that would make me actually use it:
- namespaces (aka, organizations in GitHub terminology)
- private repos (I usually start with private repos and then make them public)
The interface is really friendly and I like how approachable it is. You should make dedicated docs site instead of throwing folks at a bunch of markdowns. Maybe create a “Pages” equivalent and demo it by building a docs site?
Yeah, for now orgs/namespaces are their own accounts (even better if you have a dedicated domain for your org). Private repos aren't a thing just yet since we use AT Protocol, and all data on protocol is public -- for now. This will change soon.
Appreciate the feedback! A dedicated docs site is in the works (along side a pages offering!).
Yeah, GitHub is cooked. Now's a good time to consider migrating to alternative forges like Tangled (https://tangled.sh; bit of a shameless plug, I'll admit. I'm the co-founder). We've got a more advanced PR flow, jujutsu change-id support and we just launched our in-house CI! https://blog.tangled.sh/ci
Long-term, we aim to be the new social coding platform, collectively built in the open.
Tangled is a pretty cool idea, but I'm sorry to say that I'm hoping Gerrit gets a resurgence.
It fits my "do one thing, do it well" philosophy as it doesn't have opinions about CI, Issue trackers or even how you view the code online.
I'll admit that it's a nasty bastard to set up properly though, and the options for viewing repositories are universally terrible when not bundled with a code-review system (like Gitea, Github and Gitlab). Alas.
There are .rpm/.deb packages for Gerrit that make installation/upgrades pretty simple.
The fact that it stores everything in files on disk (no databases except for caches that can be regenerated) makes backup/restore and replication a breeze compared to many other more complicated systems.
You say "forge" and stuff like "collectively built in the open"?
Do you consider the repos "public", "private" or what?
You have a very short privacy policy [https://tangled.sh/privacy], but no guarantees of AI-bot-scraping protection. What if anything is your users' expectation of privacy of their repos against third parties, including malicious ones? Really you need to set that out clearly in your privacy policy.
Not sure I understand your first comment. Repositories are currently public only since we’re built on the AT Protocol, which doesn’t yet have private data (in the works!).
Thanks for the feedback re: the privacy policy. It’s still actively being improved and we
take a lot of effort to protect against AI scrapers. I’ll update the policy verbiage to include that.
You were suggesting GitHub users migrate to your forge, and historically, one of GitHub's big features was private repos. And at least historically, Github private repos claimed to provide protections against unauthorized access/scrapers.
But AT Protocol can't.
So currently, you're only suitable for non-commercial users. (Can you name any commercial org using Tangled.sh on source code?)
Does AT Protocol have any rough milestone (date?) for private data?
> we take a lot of effort to protect against AI scrapers.
Sorry that's not stating a guarantee of anything, it's an unquantifiable aspiration. I asked what you guarantee your users. IP access logs? Alerts? Response times? Blocks? IP whitelisting?
(I didn't downvote you.) I think being upfront about it is always good. What is even better is stating it in the first sentence and making sure your whole comment is not an ad, except for maybe the "what are you working on" type of threads. This is just my opinion and not something codified in the guidelines, etc.
In short, at the core of Tangled is what we call “knots”; they’re lightweight, headless servers that serve up your git repository, and the contents viewed and collaborated upon via the “app view” at tangled.sh. All social data (issues, comments, PRs, other repo metadata) is stored “on-proto”—in your AT Protocol PDS.
In short, at the core of Tangled is what we call “knots”; they’re lightweight, headless servers that serve up your git repository, and the contents viewed and collaborated upon via the “app view” at tangled.sh. All social data (issues, comments, PRs, other repo metadata) is stored “on-proto”—in your AT Protocol PDS.
We don’t just plan to reimplement GitHub, but rethink and improve on the status quo. For instance, we plan to make stacked PRs and stacked diff-based reviews first-class citizens of the platform.
Right now, our pull request feature is rather simplistic but very useful still: you paste your git diff output, and “resubmit” for a new round of review (if necessary). You can see an example here: https://tangled.sh/@tangled.sh/core/pulls/14
How is the support for LFS? Also, what backend language? I have some Go code for implementing an LFS server and auth but did not want to build a full code forge. All of the major Git hosts have woefully bad LFS management (e.g. if you want to purge a file from history have to delete the whole repository).
Hey, you can indeed push to someone’s knot if they’ve invited you on it. The knot server will automatically populate your ssh pubkeys (if you’ve added them) allowing you to push. :)
We have a more advanced PR flow (stacking, round-based reviews), jujutsu support and we just launched our new CI system. Come join! https://tangled.sh/signup. The goal is to be the new town square for collaborating with friends and open source communities.
It's built fully in the open (https://tangled.sh/@tangled.sh/core) and we have a neat little community built around it on our Discord https://chat.tangled.sh.
Last night was a ton of fun with the sudden influx of users thanks to the GitHub news. :)
reply