Monday, October 28, 2019

Playing With Pijul

I tried pijul out a while back, I can't remember how long exactly, and it was not ready for prime time. Today I tried it out again and I have to say, it feels pretty polished. I have a couple problems though.

One is, how do I un-apply patches? What I really want is the git equivalent of doing a git checkout  to go to an older revision (and from there build and test, or even just look around at the files). You could do a series of pijul unrecord and keep answering yes to all the patches you want to remove, and then do a pijul revert but that seems tedious and weird. I don't want to delete the patches, I just want to un-apply them for a bit. Is that possible?

The other problem I have is similar to this one. pijul promises better cherry picking than git, since it just records patches not snapshots of the repo. However, it has no cherry-pick command. It does have a patch command and an apply command that I've been trying to use to manually cherry-pick, but it's not working. For example, if I make 3 simple changes to a file (add three new lines, one after another), and record a patch for each change, is there a way to cherry pick a patch from the middle? It seems not because no matter what I try it complains that the patch in the middle is missing a dependency. I can't cherry pick just the first and third patches either. I can't even do it manually by creating traditional patches and using patch(1) because pijul doesn't output diffs/patches in normal pactch/diff format.

I feel like maybe I'm missing something here.