Pijul as an alternative to stacked-git?

https://stacked-git.github.io/

Stacked git is a plugin to git that lets you maintain special branches that use a theory of patches, but in a simple stack.

I’ve been helping someone maintain some patches to the linux kernel, and the idea of maintaining a DAG instead of snapshots or a simple stack would be really nice, but from reading the documentation I can’t seem to find any way of exporting to git.

It would be nice if we could somehow hook in to git and have all pijul channels be reflected as git branches in a git that auto update when ever something is changed. right now rebasing 3 branches on top of a 4th is pretty time consuming, and sometimes forgotten about.

Are there any solutions for this? I don’t see any obvious “export” feature in the documentation.

1 Like

There is no obvious export feature yet, and even the import feature is not satisfactory for me.

There is a number of things I’d like to do around the Pijul-Git interface, but my main limitation at the moment is work time. If you want to help, I can mentor you.

Also, you’re right to think that Pijul works better for rebases than stacked-git, even though stacked-git is a nice attempt to fix Git. Our main hypothesis here is that Git isn’t really fixable, because merges solve the wrong problem.

I would love to help but I got too much on my plate at the moment.

I’ve been mentored on kernel dev, so that’s my biggest commitment.

A different approach to having an import/export feature would be to use Pijul as a flexible fronted for whatever code versioning mechanism you need to interface with.

Instead as seeing foreign repositories as something different you need an export logic, Pijul just can see all of them as remotes and channels and don’t care where exactly, or how exactly the patches pushed/pulled get stored.

1 Like

I’ve implemented git fast-export for Pijul (andybalholm/pijul-export). I’m sure it won’t be a full replacement for stacked git, but it might help some.

2 Likes