dojjo 0.2.1+1
dojjo: ^0.2.1+1 copied to clipboard
A workspace manager for jj (Jujutsu) with hooks, shell integration, and worktrunk compatibility.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased #
0.2.1+1 - 2026-04-14 #
0.2.1 - 2026-04-14 #
0.2.0 - 2026-04-09 #
Fixed #
- Store previous workspace in default workspace instead of locally in each workspace
- Fall back to default workspace if there is no previous one
0.1.4 - 2026-04-06 #
0.1.3 - 2026-04-01 #
Added #
runcommand to execute configured alias commands with Jinja template expansion- Aliases now support all three config forms: simple string, named parallel commands, and pipeline (sequential steps)
list --fullflag showing path, commit ID, age, and diff stats (insertions/deletions) in a table format
Fixed #
switchcommand now shows the real resolved path instead of paths containing/../- Project config is now resolved from the workspace root instead of the current directory, matching worktrunk's behavior
switch -cwith--bookmarknow creates the bookmark on the new workspace's revision instead of the current one- Use
--porcelainto from shell integration to ensure things don't break - Sanitize directory names of new workspaces
- Fix revision column name in full listing format
- Default to
trunk()as base for new workspace - Resolve previous workspace before removing the current one
0.1.2 - 2026-03-30 #
Fixed #
- Merge hooks now receive the current workspace name instead of the target branch as
{{ name }}/{{ branch }}
0.1.1 - 2026-03-30 #
Fixed #
- Post-remove and post-merge hooks now run from the primary workspace directory instead of the deleted directory
parseWorkspaceListthrows a descriptiveFormatExceptioninstead of aRangeErroron malformed jj output- Previous workspace state is no longer saved until the switch actually succeeds
switch -xcommand output is now written to stdout instead of stderr
0.1.0+2 - 2026-03-29 #
Added #
create-bookmarkconfig option and--bookmark/--no-bookmarkflag onswitch -cdojjo.local.tomlproject-level config for local overrides- Install script (
install.sh) with shell integration prompt - Standard-readme compliant README
Changed #
completionis now a subcommand ofshell(djo shell completion)- Project config moved from
.config/djo.tomltodojjo.toml - Config key
worktree-pathrenamed toworkspace-path(old key still accepted) - Environment variable
DOJJO_WORKTREE_PATHrenamed toDOJJO_WORKSPACE_PATH hash_porttemplate filter now returns an integer instead of a string- Commands that don't produce output now return void
- Process execution unified through
runProcessinplatform.dart - Errors bubble up as exceptions instead of calling
exit()directly
Removed #
pushcommand (usejj git pushdirectly)workspace_indextemplate variable and persistent index state file
0.1.0 - 2026-03-28 #
Added #
switchcommand with workspace creation, interactive picker, and-for previouslistcommand with conflict/divergent indicators and JSON outputmergecommand with configurable squash/rebase/push pipelineremovecommand with bookmark cleanupfor-eachcommand to run commands across all workspacesprunecommand to remove merged workspacescopy-ignoredcommand with APFS clonefile supportupdate-stalecommandhookcommand for manual hook executionconfig showcommand- Shell integration for bash, zsh, fish, and PowerShell
- Tab completion for bash, zsh, fish, and PowerShell
- Worktrunk config compatibility (
.config/wt.tomlformat) - Hook pipeline system (pre/post hooks, parallel/sequential execution)
- Jinja2 template variables and filters (
sanitize,sanitize_db,hash_port) - Environment variable overrides for config values