Sourcehut pijul service

Sorry for necrobumping, but I thought it is maybe useful to add a bit about the core idea of sourcehut, and compare it to pijul/nest, as far as I understood:

tl;dr: Sourcehut is diff-based (not snapshot-based) and git is federated via email. The nest/pijul is patch-based and pijul is federated via harmless push. Naturally, the nest is centralized since it hosts central places for collaboration. But in the long run I’d find it beneficial to have alternative open-source possibilities to publicly (self-)host a pijul collaboration hub.

Git is already federated and decentralized, since it is originally built around an email diff workflow, as the author argues. Sourcehut tries to make the email-centered, federated git workflow easier, by developing an interface more accessible for Git{Hub,Lab,…} pull-request trained minds. So in principle, it is centred around pushing diffs, which are kind of poor-man’s patches: Whereas you can push a patch directly to a nest repo, in sourcehut you push the diff to a mailbox/mailing list and it gets (maybe) applied, as a new commit. Here, pijul is superior, because you can send patches somewhere else, and they keep their identity. You can even push to a repo without causing harm. In sourcehut, you are experiencing the typical git mismatch between patches as UI and snapshots as internal representation, which is easily confused when working with git.

What the nest is missing, compared to sourcehut, is the web based sending of patches (for which sourcehut also has a button for cloning a repo on the server) and some stuff like CI, wikis, todos, mailing lists,… some of which are up to taste, surely.

There was once a thread about a distributed nest. Since you can freely push anywhere and the online repo is only the central place to collaborate on one project, I don’t really see the point any more.

What is too centralized for my taste, currently, is that the nest is closed source and it is the only web gui for publicly hosting pijul repos (or is it?). If you plan to open source it eventually (no hurry), then everything will be fine. Otherwise, someone should write an alternative at some point, e.g. a sourcehut integration, if pijul patches can be exchanged via email just as well, instead of pushing (i had it on my mind, but time…).

2 Likes