• robinm@programming.dev
    link
    fedilink
    arrow-up
    4
    ·
    2 days ago

    First experience with #jj #jujitsu

    I tried the equivalent of git add -p (jj squash -i).

    • I realize that it’s closer to git add --interactive (which I find much more complicated and less productive)
    • I wasn’t able to edit a hunk (like the e key in git add -p) which I use a lot to split debug statements from real work

    I generated a conflict (as I expected)

    • I found no way to show the original diff
    • jj undo did not worked (I have not been able to undo the jj squash that introduced the conflict

    Very not impressed so far. Fortunately it was a test repo.

    • 2xsaiko@discuss.tchncs.deOP
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      2 days ago

      I wasn’t able to edit a hunk (like the e key in git add -p) which I use a lot to split debug statements from real work

      I don’t think the builtin diff editor can do this, but you can set a different diff editor than the builtin one: https://github.com/martinvonz/jj/blob/main/docs/config.md#editing-diffs

      edit: but wait, debug statements? Are they mixed in on the same line as the real code? The builtin diff editor can pick changes per line.

      I found no way to show the original diff

      jj evolog to show how a single change evolved including the previous commit that didn’t have the conflict yet, if that’s what you mean.

      jj undo did not worked (I have not been able to undo the jj squash that introduced the conflict

      If you did something afterwards, the operation you undo will no longer be the squash. Look at jj op log to see which one is the correct one to undo.