this post was submitted on 11 Dec 2024
42 points (93.8% liked)

Programming

17677 readers
92 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 2 years ago
MODERATORS
top 8 comments
sorted by: hot top controversial new old
[–] mox@lemmy.sdf.org 6 points 2 weeks ago* (last edited 2 weeks ago)
[–] robinm@programming.dev 5 points 2 weeks ago (1 children)

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.de 2 points 2 weeks ago* (last edited 2 weeks 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.

[–] samc 3 points 2 weeks ago

I use magit in Emacs in a similar sort of way. Bringing up the magit status page instantly presents a list of hunks I can browse and stage. When committing, there is also an option to "instant fixup" into an existing commit, which you can select interactively from the commit log.

[–] Adda@lemmy.ml 3 points 2 weeks ago

I just recently gave Jujutsu a go, and I must say, it is a pleasure to work with VCS now. As opposed to Git, jj just makes sense and does exactly what I want it to do. No issues whatsoever. And if there is a need (which it is not most of the time), one can just fall back to Git and its ecosystem.

[–] Kissaki@programming.dev 1 points 1 week ago (1 children)
[–] FizzyOrange@programming.dev 1 points 2 weeks ago

Has anyone used Jujutsu and Sapling? Which is better?