Gut Checking Jujutsu vs Sapling

To be honest, I continue to have no idea where I will land version control wise. Here’s some pro-cons that are in my head at the moment.

Pro Jujutsu

  • I appreciate the versioned working directory
  • The .git support is really nice.
  • I am getting used to the ability to type a 3-letter change id to do work with changes.

Con Jujutsu

  • No absorb
  • No histedit
    • I'll be honest, I find reworking history to be really exhausting in Jujutsu. It uses a weird conflict marker by default which I find confusing, and generally the requirement that you do all the rebasing yourself vs having a histedit script... not a fan.
  • The transparent conversion of working directory to commit can bite you -- means you can accidentally add a file and not notice!
  • jj's versioned working directory seems to occasionally break the Mozilla build system, as it tries to figure out what tools should be bootstrapped and when, which seems to be based off the revision. This is not implicitly as pro-Sapling position, as I suspect I'd have equal pain with Sapling.

Pro Sapling

  • I kinda miss ISL when working in Jujutsu..
  • absorb!
  • histedit
  • I think the changeset evolution story in Sapling is probably a little easier to understand than in Jujutsu

Con Sapling

  • Stepping into the future... but less far
  • dotgit support still feels sufficiently experimental I don't know I'd be comfortable using it. This means that until we do the switch for real, probably stuck with the weird workflow