Apparently pijul is the nerd’s nerd version control so natrally I had to try it out. I was attracted by the associative nature of the patches and the more pure implmentation of patch theory then the likes of git. Not wanting to install rust on my mac I came up with this docker workflow. I think the concept carries into trying many things out locally from dev tools to server side applications.
This is how I inatilly got pinjul up and running aka without Dockerfile. Read on for quicker setup.
$ docker run -it -v “$(pwd)”:/src –network host –name=rust1 rust:latest /bin/bash
this will automatically put you in that continers shell. to relaunch the container again after you
exit you will need a different command:
$ docker run -it -v “$(pwd)”:/src –network host –name=rust1 xyzContinerHashxyz /bin/bash
$ apt-get install libsodium-dev
$ cargo install pijul –force
$ cd /src && pijul init
Once the above steps have been figured out it’s faster to create a docker file for pijul so you can take it with you to other systems.
Example Dockerfile
FROM rust:latest
RUN apt-get update
RUN apt-get install -y libsodium-dev
RUN cargo install pijul –force
$ pbpaste > Dockerfile
$ docker build . -t username/local-pijul:latest
$ docker run -it -v “$(pwd)”:/src –network host –name=pijul local-pijul:latest /bin/bash
Docs are pretty sparce at time of writing and beside:
$ pijul help
there a few links I came a cross that were critical:
I used pijul for about a week on one of my personal projects. I found it quite intuitive and seeing the patch theory in action was fun but I was not without faults. I especially like the decentralization of its workflow compared to a single master repo we end up with using Git. In the end though the amazing infrastructure around git like Gitlab-CI and the ease of use / extensive documentation made me shift back to git.