JujutsuEdit
Jujutsu is a Git-compatible version control system with some novel ideas:
- No index (staging area). Every modification is automatically included in the current change.
- Conflicts don’t prevent operations from completing (ie. you can fully rebase a stack of changes and resolve conflicts as a separate, posterior step).
- Rebasing of dependent changes happens automatically (note that previous point about conflict handling is important for this to be viable).
- Many commands exists for common stacked workflows; for example, for inserting changes before (
jj new --before
) and after (jj new --after
) other changes, even changes with multiple parents or children (seejj new
). See alsojj absorb
, which automatically distributes the contents from a revision to the closest relevant ancestors (similar togit-absorb
, andjj next
/jj prev
for moving between revisions.
I would love to see some of these ideas to be baked into Git, proper, although Git is (necessarily) slow-moving so it may be a while… In the meantime, migrating to jj
is not without its challenges, because the Git-compatibility is only partial at this time (eg. no support for submodules etc).