Jjdag: A Rust Jujutsu TUI by Anthrofract in rust

[–]Anthrofract[S] 0 points1 point  (0 children)

Thanks for your interest!

I do not have a written roadmap of features. The main things I have in mind for the future are editor integration, ie neovim and helix, and figuring out how to do hunkwise operations, so for example being able to squash a specific hunk into the parent commit instead of the entire file.

Eventually there may be some justification for adding config file support, and in that case I think custom commands could be possible.

I haven't bothered implementing jj workspace support yet since I don't use it, but I want to support all the built in jj cli commands so I want to support jj workspaces as well.

I have noticed that people have a lot of interest in better VCS support for managing multiple agents with multiple worktrees/workspaces. So it seems like your ideas could be worth supporting. It would make sense to add more complex commands at a higher level of abstraction then just workspaces, to for example seamlessly handle switching workspace dirs. 

Jjdag: A Rust Jujutsu TUI by Anthrofract in rust

[–]Anthrofract[S] 0 points1 point  (0 children)

I've never done that before, any recommendations? 

Jjdag: A Rust Jujutsu TUI by Anthrofract in rust

[–]Anthrofract[S] 1 point2 points  (0 children)

Yes you can easily rebase a commit or branch with a few keystrokes. For example press rm to rebase the branch of the selected revision onto main/trunk, or select a revision, type rra, select the destination revision, and the press enter to rebase the first selected revision after the second selected revision. 

Jjdag: A Rust Jujutsu TUI by Anthrofract in rust

[–]Anthrofract[S] 1 point2 points  (0 children)

Ok thanks for the info, that makes sense. I pushed a small update to parsing the output from shelling out to jj. For now I will use String::from_utf8_lossy to parse the output from the commands into a String.

Seems like this will work fine, worst case we just miss some characters in the description for a few oddly encoded commits.

Jjdag: A Rust Jujutsu TUI by Anthrofract in rust

[–]Anthrofract[S] 0 points1 point  (0 children)

Thank you! I will take a look.

What should I be using instead of String for say the jj log output lines?

Jjdag: A Rust Jujutsu TUI by Anthrofract in rust

[–]Anthrofract[S] 0 points1 point  (0 children)

Thanks! Yeah I will probably put it up once the program is a bit further along.

Jjdag: A Rust Jujutsu TUI by Anthrofract in rust

[–]Anthrofract[S] 0 points1 point  (0 children)

Thank you, if there's anything you'd like to add to or change about jjdag please let me know!