404 dead link
Programming
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 [email protected]
Recent presentation by the developer:
https://www.youtube.com/watch?v=LV0JzI8IcCY
Tutorial by someone else:
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 ingit 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 thejj squash
that introduced the conflict
Very not impressed so far. Fortunately it was a test repo.
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.
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.
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.
Has anyone used Jujutsu and Sapling? Which is better?