home.social

#jujutsu — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #jujutsu, aggregated by home.social.

fetched live
  1. Also, I made a new #jujutsu #jj #vcs convert, so that ain't nothin'. It's good, you should try it!

  2. 🚀 JJ-FZF 0.42.0 is out!

    ⚔️ Alt-L: interactive conflict resolution with jj resolve
    🔄 Ctrl-R: rewrite change ID (jj metaedit --update-change-id)
    📜 Ctrl-O: keep showing *all* oplog changes (jj-0.40+)
    🧠 Cleaner LLM commit message generation
    📝 Supports jj describe --editor (jj-0.42)
    ⏱️ Error pause delays configurable via $JJFZF_ERROR_DELAY
    🔧 Fixed bookmark startup position & quoting

    ⚠️ Requires jj-0.42.0, fzf-0.67.0, GNU Make ≥ 4.0, bash ≥ 5.1

    🔗 Release:
    github.com/tim-janik/jj-fzf/re

    #Jujutsu #jjfzf #BuildInPublic #100DaysOfCode #DevTools

  3. now supports interactive absorb! 😍 You need to be in version >= v0.44. But still. I cannot express how many times I ran into trying to use `-i` on absorb as an error. Now it actually works!! 🥹

    docs.jj-vcs.dev/latest/changel

  4. #Jujutsu jest... interesujące. To chyba najlepsze sformułowanie po tym artykule i innych materiałach (polecamy podpytać ChatGPT o różnice względem #Git i Jujutsu) - widać, że to narzędzie proponuje inny sposób pracy na repozytorium i inną filozofię. Warto znać, to na pewno.

    stavros.io/posts/switch-to-juj

  5. The result that I needed in my #jujutsu config file was this:

    • I don't want jj to track main/master unless I do so explicitly (track-default-bookmark-on-clone = false)

    • I don't want jj to automatically track bookmarks at all (don't set auto-track-bookmarks)

    • I want jj to advance the bookmark as soon as I commit (experimental-advance-branches)

    • I want jj to only advance the bookmark in my branches (experimental-advance-branches.enabled-branches = ["glob:work/myname/*"])

    • I don't want jj to ever move the bookmark on main/master unless I do so explicitly (experimental-advance-branches.disabled-branches = ["main"])

    • in the case I accidentally push a not advanced bookmark, I want jj to have a more readable default autogenerated branch name based on the commit name without spaces and without single quotes in lowercase (templates.git_push_bookmark = "\"work/myname/\" ++ description.first_line().replace(\" \", \"-\").replace(\"'\", \"\").lower()")

  6. I've been trying #jujutsu (jj) for a while. It's an alternative frontend to git, but unlike other tools like lazygit, it actually changes the git workflow.

    Essentially:

    • there's no index/staging area
    • changes are separate from commits
    • because of the above two, all changes to files are tracked ("committed to jj") by default (in other words, the current commit is the latest change)
    • there's no concept of current branch, you just move/advance the branch pointer (bookmark) to current change
    • this also means you work on anonymous commits by default and only track the parent commit
    • rebase and squash are actually not fucking miserable
    • you can keep working while a rebase is marked as having a conflict

    But there's two things I don't like about it:

    • it pushes all created tracked branches by default
    • you have to move the bookmark before pushing, otherwise pushing creates an autogenerated branch name

    For the latter there's an experimental advance branches feature, I haven't investigated the first yet.

  7. Whoa, the #jujutsu hashtag is very different on BlueSky

  8. I haven’t really gotten the idea of #jujutsu before since I’m pretty happy with git, but the idea of not having to name things (branches, commits) kinda clicks with me so maybe I’ll try and give it a go!

    jj-vcs.dev/

  9. #jujutsu #vcs still lots of fun to use (I've since updated my default tmux session config to stop popping out #git related panes like lazygit) but also still getting my head around best practices and ergonomics.

    E.g., `jj bookmark advance` clearly prefers that your head/@ be a "real commit"; if you're sitting on an empty commit after a `jj new` or `jj commit` or etc, you have to remember to say `jj bookmark advance --to @-` which is easy to forget.

    Conversely, jj's behavior of "@ contains your working copy as-is, there's no index/staging" means you're incentivized /not/ to be sitting on "real work" lest you accidentally perform the equivalent of `git commit --amend` every time you edit a file. (This bites me a lot! Especially for files that another tool is auto-updating like uv.lock, Pulumi.$env.yml etc.)

  10. 🌿 Mirrors Git diff-style commands: hunk diff, hunk show HEAD~1, file-to-file compare and patches from stdin

    🔀 Auto-detects #Jujutsu and #Sapling checkouts and uses native revsets; can be set as pager for #Git, jj or sl

    🎨 TOML config for theme, layout mode, VCS, line numbers and wrapping, plus custom themes inheriting from any built-in theme

  11. #TIL: #jj #jujutsu grew a `bookmark advance` this past spring. Very cross I didn't even know about it until just now, given I only started using it this summer…

    jj-vcs.dev/latest/cli-referenc

    Now glad I didn't even bother setting up the "usual" 'tug' alias!

  12. Workflow changes I've made in the past 12 months, and am very happy with:

    tmux → zellij
    vim → neovim
    git → jujutsu
    notion → obsidian

    Of those, #jujutsu is the biggest improvement. If you use `git rebase` or `git stash` regularly, you're probably the kind of person who would love it too.

  13. My (free, open source and human-written) book #jujutsu is almost complete.

    I'm looking for reviewers. I'd be very grateful!
    DM me if interested :)

  14. Hi All
    Guide me please 😅
    I'm using GitHub all these days to store files. I plan to move my files to open source platforms like codeberg,gitea etc. But I want a mirror of my codeberg like repo in GitHub etc, just as a backup.
    2 ways I can think of:
    1) Pushing to 2 remotes from my local
    2) Mirroring one repo completely in another platform
    Want ur opinion on these or any other methods I'm unaware of.
    #git #jujutsu #jj #github #gitea #codeberg #forgejo #vcs #dvcs #repo

  15. The JuJutsu VCS gives me planning superpowers!

    Here is how I use its revisions and flexible workflow to plan my work ahead and keep track of my progress.

    Read more on my blog:

    moskitohero.com/post/2026-06-3

    #jj #jujutsu #vcs

  16. DJK Ju-Jutsu: Erfolgreiche Gürtelprüfungen – 25 Kinder und drei Dan-Prüfungen an einem Wochenende

    (Pressemitteilung) Die Abteilung Ju-Jutsu des DJK Dudweiler blickt auf ein besonders erfolgreiches Prüfungswochenende zurück: 25 Kinder traten am vergangenen Wochenende zu ihren Gürtelprüfungen an – vom gelben Zipfel bis zum orangenen Gürtel. Alle haben bestanden! Auch auf Landeseb […]

    🔗 Weiterlesen: dudweiler-blog.de/2026/06/30/d

    #DJK #JuJutsu #Prüfungen #Sport

  17. Friendship ended (through deprecation) with `jj git push --allow-new`. Now `jj git push --named <branch>=<ref>` is my best friend. #jujutsu

  18. Oh this is lovely! I'm starting to get the 'zen' of #jujutsu.

    I had signing enabled and it was triggering my 1Password ssh agent every 5 minutes because my shell prompt was running jj status, which in jj-land updates the 'working' commit.

    It turns out `jj sign` signs any mutable revision it can get its hands on, so I set signing.behavior = 'drop' (never sign anything), which keeps the noise down because Claude will squash, split and reorder jj revisions like a boss, then my sync-to-GitLab dance is:

    jj tug && jj sign && jj git push

    (tug is an alias to move the 'main' bookmark up).

    All commits signed, no ssh overhead for in-flight changes.

    You're welcome. Yes I know I should blog this. And the rest of my Claude <3 jj workflow.

  19. Started messing with #jujutsu #jj. Has some very neat ideas as expected.

    Git interop is a little clunky still, though hopefully I just haven't discovered quite the right commands ("new technology, tutorials are outdated the moment they're published" problems…)

    Eg, a rapid fire "fuck, why is my CI/CD not workin right" workflow. In Git, having already done a 'checkout mybranch' that morning:

    - git commit -m 'lmao'
    - git push

    In jj, because you're never "on" a branch:

    - jj commit -m 'lmao' (or have done a 'describe' earlier, and do a 'new' now)
    - jj bookmark advance mybranch --to @-
    - jj git push --bookmark mybranch

    Over and over! Obviously I could shell alias this, but.

  20. @alcarney Not an `eshell` solution but if you are looking to use `jj`from Emacs you might be interested in Majutsu, particularly if you used and liked Magit as it claims to be "Magit for Jujutsu"

    github.com/0WD0/majutsu

    #emacs #magit #jujutsu #transient

  21. Dear #git / #jujutsu / #jj / #lazygit #lazyweb (pun not intended?),

    I am gently interested in trying out `jj` sometime, but have invested /significant/ muscle memory in the lazygit TUI (which is flippin' awesome). Has anyone made that /specific/ transition successfully?

    Eg,
    - did you go back to fully shell-driven SCM actions using `jj`? (because jj is just that good?)
    - did you switch to a more editor-plugin-focused workflow? (because one was on offer? btw I use vim)
    - did you use lazygit+jj clones/etc like lazyjj (github.com/Cretezy/lazyjj)? (which looks non-slop but otherwise haven't tried yet)
    - mystery fourth option?

    #BoostsWelcome

  22. Blogged: jj fix 🩷 standard-clj

    For the past few weeks, I've been using Jujutsu (jj) as my primary version control system instead of git.

    jj fix is one of my favorite commands. It hooks up with formatter like prettier or standard-clj and formats the code and fixes the issue in the commits that introduced them, *without conflicts*.

    mikkokoski.com/blog/jj-heart-s

    #jujutsu #git #clojure