JuJutsu is a distributed version control system that allows you to manage your codebase and collaborate with others. One of its features is the ability to create revisions, which are snapshots of your code at a specific point in time. In this post, I will share how I use JuJutsu revisions to plan my work ahead.
When I start working on a new ticket, I usually create a new revision for it, with the ticket number and description, along with a bookmark, like I described in my previous post.
The next step is to start planning my work ahead. And JuJutsu makes it easier by allowing me to split my ticket into multiple sub-tasks, each matched to its own revision. That way, I can start working on one sub-task, then the next one, and so on.
This is what it can look like in practice:

Keeping that habit is very useful because it forces me to think things through before I start coding. When working with an agent, it also gives it the context of the piece of work I am doing, and allows it to focus on the right sub-task, instead of trying to solve the whole ticket at once.
What often happens it that when editing a revision, I realize that I have to change something I had not anticipated in the previous one. In that case, I just go back to it and edit it. If that change is important and requires a lot of work, I usually create a new revision on top of the previous one, and squash it once I am happy with the result.
The icing on the JJ cake is that if those changes lead up to conflicts, they do not block me. I can follow my train of thought, and resolve the conflicts later, when I have more time / energy to devote to it.
Once everything is done, I can squash all the revisions into one, or keep a few of them as logical milestones in my work if I want to keep track of the progress I made.
