Skip to content

Jujutsu support #109

Open
Open

Description

@Elias-Ainsworth

Is your feature request related to a problem? Please describe.
This looks like an amazing tool! But the only reason I'm refraining from using it is the lack of jujutsu support.

Describe the solution you'd like
Additional support for the jujutsu vcs that can be toggled in the config file.

Describe alternatives you've considered
The old fashioned method of amending commits.

Additional context

Activity

  1. cococonscious commented on Nov 26, 2024

    @cococonscious
    Owner

    This looks nice, I'll take a look for the release after the next one!

  2. cococonscious commented on Jan 21, 2025

    @cococonscious
    Owner

    Could you elaborate a little on what features you want for jujutsu? I haven't used it before but from what I understood, koji could be used for jj describe and jj new, where the former is quite similar to the hook functionality of koji, no? If I'm right, would you be happy with koji --hook doing jj describe and the normal mode doing jj new?

  3. Elias-Ainsworth commented on Jan 26, 2025

    @Elias-Ainsworth
    Author

    That looks great, but then again I'm not exactly the most avid jujutsu user, so I apologize for the lack of constructive feedback.

    PS. Have you considered packaging koji for nix from within the repository?

  4. cococonscious commented on Feb 21, 2025

    @cococonscious
    Owner

    PS. Have you considered packaging koji for nix from within the repository?

    Yes, I'm going to look into packaging koji for various package managers (including nix) as soon as #139 (and maybe #140) have been implemented and released. Please note that the package that's currently in the Nix repository is not managed by me or anyone I'm affiliated with (@ByteSudoer) and is also outdated.

  5. jkellz-dev commented on Feb 21, 2025

    @jkellz-dev
    Contributor

    @Elias-Ainsworth I use koji with JJ with the --stdout flag. So when describing jj describe -m "$(koji --stdout)". Since JJ actively manages the lifecycle of changes, I find only using koji's prompt and formatting to be the most helpful. I don't have a clear understanding of how the workflow would work with a deeper integration.

  6. jkellz-dev commented on Feb 21, 2025

    @jkellz-dev
    Contributor

    Also I alias the command so I'm not typing it all the time either. So YMMV.

    After rereading the thread, I think invoking koji should describe by default. That may just be how I work and is clearly a preference. It would be rad if invoking koji a second time pre-populated the defaults with the previous message. Then describing multiple times would be more like editing your working copy.

  7. Jack-Chronicle commented on Mar 7, 2026

    @Jack-Chronicle

    Been looking around for JuJutsu Commit tools and if support for it is added, this would be the best one I've seen by far

    I use JJ repo's with --no-colocate so they don't have the .git folder, which has limited some functionality since they don't read as git repositories but it prevents me from having excess folders I don't need/use which I value more (for now)
    Since they don't read as git repo's, having builtin support for JuJutsu is a big deal for me. Or at least a workaround method to use it with jj

    Since this issue seems to have been open for awhile, and I don't know if it's still being considered or worked on. This seems to be the only issue stopping it from working? At least in appearance, i'm sure it also would need to have the internal code changed to work with the jj syntax

    Error: could not find git repository
    
    Caused by:
        could not find repository at '~/.dotfiles'; class=Repository (6); code=NotFound (-3)
    
  8. added a commit that references this issue on Mar 13, 2026
  9. cococonscious commented on Mar 13, 2026

    @cococonscious
    Owner

    Hi everyone, I just pushed a first draft of Jujutsu support in #185 , please take a look, try it, and give me feedback if this is what you've imagined or if there's any apparent issues.
    Thanks in advance.

  10. Jack-Chronicle commented on Mar 14, 2026

    @Jack-Chronicle

    Hi everyone, I just pushed a first draft of Jujutsu support in #185 , please take a look, try it, and give me feedback if this is what you've imagined or if there's any apparent issues. Thanks in advance.

    still receiving some issues with the features/jj-support branch

    ❯ eza -la
    drwxr-xr-x    - lantern  8 Feb 03:59  .jj
    drwxr-xr-x    - lantern 13 Mar 14:04  config
    .rw-r--r--  47k lantern 13 Mar 05:13  flake.lock
    .rwxr-xr-x 9.5k lantern 12 Mar 04:24  flake.nix
    drwxr-xr-x    - lantern 10 Mar 00:31  modules
    ❯ koji
    Error: could not find a supported repository (git or jj)
    
    Caused by:
        0: could not find git repository
        1: Could not find a git repository in '/home/lantern/.dotfiles' or in any of its parents within device limits below '/'
     ~/.dotfiles tmks ⇡1 +23 •44 -43
    
  11. cococonscious commented on Mar 19, 2026

    @cococonscious
    Owner

    @Jack-Chronicle Thank you for trying it out. How did you initialize the jj repo? jj git init --no-colocate ?

  12. Jack-Chronicle commented on Mar 19, 2026

    @Jack-Chronicle

    yes, that is how I initialized my repo

    running it inside a repo that was initialized with jj git init --colocate does work, but I believe only due to it having the .git folder (and thus doing so for git instead of jj)

  13. cococonscious commented on Mar 19, 2026

    @cococonscious
    Owner

    @Jack-Chronicle I think the issue is that the binary you used wasn't compiled with the jj feature flag, could you try to pass --all-features during installation and try again? I also just improved the error message for that scenario.

  14. Jack-Chronicle commented on Mar 19, 2026

    @Jack-Chronicle

    installing it using the --all-features flag doesn't seem to have compiled it with jj support still

    But I did see the new error message >
    Error: found a .jj/ directory but koji was not compiled with jj support

  15. cococonscious commented on Mar 19, 2026

    @cococonscious
    Owner

    That's odd... This command installs it as expected for me: cargo install --git https://github.com/cococonscious/koji --branch feature/jj-support --all-features
    Can you give me some more insight about your system? OS, Architecture, etc.

  16. Jack-Chronicle commented on Mar 19, 2026

    @Jack-Chronicle

    huh, that commands creates a lot of errors for me
    mostly based around failing on linking with cc

    I'm running >
    NixOS 25.11
    Linux 6.19.7 (x86_64)

    Built my own package overlay for this so I could try the JJ integration without waiting for the 'official' nix package to update (since that'll take another couple months to be added to nixpkgs at the least)

    It could be related to how nix compiles the cargo packages with feature flags so i'll try messing around with that or looking at other ways of going about it

  17. Jack-Chronicle commented on Mar 19, 2026

    @Jack-Chronicle

    yeah, looks like it was just an issue with how I was installing it

    Looks to work now!
    Doesn't seem to add the author/comitter but that could just be a config issue on my end (again)

  18. cococonscious commented on Mar 19, 2026

    @cococonscious
    Owner

    Looks to work now!

    Awesome! Glad to hear. Let me know what you think once you got to play around with it for a bit longer 👍
    FYI it does set the author as normal for me.

  19. added a commit that references this issue on Oct 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions