jujutsu v0.37.0 released
71 points by dpassen
71 points by dpassen
I was part of this! I added the new executable bit configuration option that should unlock the use of jj on Windows Subsystem for Linux or when dual-booting with an NTFS drive. Before this, jj would recognize that all of the files in your repo were in-fact executable, and would "helpfully" mark all files as modified to be executable.
i've had that issue with wsl before! i resorted to keeping two copies of the repo, one inside wsl and one outside. now i won't have to do that, so thanks :)
Wait, do people actually do work on the windows disk from inside WSL?
I know you can, and it's less painful than it used to be, but I feel like there are lots of corner cases that just don't behave well that way, and tools on both sides tend to not handle it well. I've always treated the cross mounting of filesystems as a convenience a bit like a network share... it's great to take a quick look at something 'on the other side' or to have a convenient way to move data back and forth, but I'd very seldom do any significant work on data across that boundary.
(Though thank you, one less tool that misbehaves that way is an improvement!)
When WSL first launched, this was the first thing I tried to do actually. And it really broke things.
It's better now, but yeah...
I'm currently enduring a painful reorganization of a long-running topic branch (I know, I know), and without jj I'd probably have just quit and become a farmer by now. To all jj contributors: thank you for your service. 🍻
I am quite happy to have made a minor contribution that was included in this release! About a month ago, I started using jj instead of git. During my switch-over, I ran across this bug in the jj gerrit upload command, and decided to try my hand at fixing it!
I had a really positive experience with this -- the code itself was easy to work with (even despite my not having much prior Rust experience), and maintainers provided quick and helpful reviews. It's quite satisfying to know I've made an improvement to a tool I use and enjoy every day : )
I had the same experience when I contributed a year ago! Glad to hear the community is going strong!
Super cool that there is a way to disambiguate conflicting revisions!
I think it mostly worked in practice to use the hex commit ID, but since those change constantly it's great to have a stable revision ID for them.
Well, it’s not stable in the sense that xzza/1 will always point to the same commit, since it’s relative… right? Do you mean it’s just easier to parse xzz/1, xzz/0 vs dead, beef?
I mean "stable" in the sense that xzza/1 is always "the second conflicting version of xzza", even if I edit that version (which would change the commit ID). (Unless that is not actually how it works — I haven't tried this yet!)
the stability being based on the timestamp worries me a bit, doesn't it mean that xyz/1 could point to a different thing later down the line if I pull from other repos? Or if I had 3 conflicting changes, resolving one could end up shifting the remaining ones?
That is a good point — maybe I’m applying wishful thinking to the actual definition. Just to be clear, though, this isn’t about normal conflicts being resolved across different jj changes, it’s about the same jj change ID being attached to multiple changes, which is quite rare in my experience. (It’s the ?? marker in the log.)
This seems so nice and better than git in all usability cases i can think about, does anyone know how to get started with jj quickly?
I think Steve's intro is probably the best resource (unsure how up to date it is these days, some things have reasonably changed): https://steveklabnik.github.io/jujutsu-tutorial/
Otherwise, my suggestion is to just either start a new project with it or collocate an existing repo with jj. It should be strictly safe (you can always just revert to using git if it's not for you).
Thank you so much, this looks very good
After the tutorial in the command line, I highly recommend running jjui or gg (or one of the other UIs, that’s just what I’ve tried) to make it easy to visualize what’s happening. My workflow is just to leave jjui up in a terminal window all the time; I hardly ever use the command line except when I want a different diff or resolve tool.
I'm always happy to answer questions as well! DM me any time.
The Discord is also nice and friendly.
I’ve been using Stacked Git for 2+ years now, but I have to admit jj seems very appealing at the moment.
I like that Stacked Git patches have human readable names, I have basically fully embrace having 1-commit MR 99% of the time. That being said, jj seems to be an interesting alternative so I might give it a try soon.