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.
0.5.0 - 2025-07-09¶
Features¶
- Add commands for quick switching between repositories (2e7e0e5 by Philipp Krüger).
- Enable back and forth switching (686bc7e by Philipp Krüger).
Bug Fixes¶
- Restore powershell integration (92300d0 by Philipp Krüger).
- Add repository root not '.git' directory to registroy when using 'git wt clone' (a7549d2 by Philipp Krüger).
- Use worktree paths instead of branch names for 'git wt remove' completions (630257c by Philipp Krüger).
- Use custom completion for 'git-wt add' (925aa9f by Philipp Krüger).
- Properly create new branches (9c440b0 by Philipp Krüger).
- Redirect stdout of git cli invocations to stderr (1db9ce8 by Philipp Krüger).
- Only run cd command if git-wt didn't fail (04aaec6 by Philipp Krüger).
- Remove debug output from zsh completion script (72f40c2 by Philipp Krüger).
- Re-add _git-wt method to zsh init script (8bbf9c6 by Philipp Krüger).
- Remove '.git' suffix from destination (e5dad4d by Philipp Krüger).
Code Refactoring¶
- Delete empty parent directories when removing a worktree (ef9e788 by Philipp Krüger).
- Improve printed worktree list (b850e6b by Philipp Krüger).
- Reduce complexity by removing pygit2 (ec97d02 by Philipp Krüger).
- Use contextlib to make pushd much more lightweight (c455b36 by Philipp Krüger).
- Use git CLI when creating new worktrees (e5cdfa8 by Philipp Krüger).
- Use
git.execute
when removing worktrees (475275f by Philipp Krüger). - Use git.execute function instead of subprocess (b37c445 by Philipp Krüger).
- Use git CLI when creating a worktree (e885eaf by Philipp Krüger).
- Use git CLI when cloning a repository (5c5433c by Philipp Krüger).
- Add execute methode to git module (6632345 by Philipp Krüger).
- Fix linter findings (61a145b by Philipp Krüger).
- Replace install commands with init commands (95e58f5 by Philipp Krüger).
- Move commands and utility functions into own modules (1dfcb4d by Philipp Krüger).
- Remove redundant pygit2 imports (451231d by Philipp Krüger).
0.4.0 - 2024-06-07¶
Features¶
- Add 'switch' hook for bash (4212f56 by Philipp Krüger).
- Add 'switch' hook for zsh (5b1327a by Philipp Krüger).
Code Refactoring¶
- Shorten 'remove' and 'list' command (254ed0e by Philipp Krüger).
0.3.1 - 2024-06-06¶
Bug Fixes¶
- Use incomplete in completions (561eb06 by Philipp Krüger).
0.3.0 - 2024-06-05¶
Features¶
- Improve completion for start points (b99cfd8 by Philipp Krüger).
- Add 'switch' command and powershell proxy (a5c00b1 by Philipp Krüger).
- Add 'remove' command (4bb4de9 by Philipp Krüger).
- Add completion function for worktree names (9d6135c by Philipp Krüger).
- Add powershell completions (853ac42 by Philipp Krüger).
- Add start point argument to get_branch function (be2c4a9 by Philipp Krüger).
- Add bash shell completions (9ce79a9 by Philipp Krüger).
- Add ZSH completions (1ccabbc by Philipp Krüger).
- Enable switch for root worktree if non-bare (feaadfb by Philipp Krüger).
- Add as_worktree function to Repository (d141b37 by Philipp Krüger).
- List non-bare repository root (2f37cea by Philipp Krüger).
- Add open_worktree function (b48b166 by Philipp Krüger).
- Add support for Path objects to Repository constructor (0b817ae by Philipp Krüger).
- Log when creating a new worktree (a3f539f by Philipp Krüger).
- Always create worktree directories in repository root (dc291bc by Philipp Krüger).
- Add short version for shell options, rename checkout to create (d84fb39 by Philipp Krüger).
- Use high-level abstraction functions for branch creation (61d3bc7 by Philipp Krüger).
- Add high-level functions for worktree operations (0e687e4 by Philipp Krüger).
- Add high-level get_branch function (c575ab7 by Philipp Krüger).
- Add high-level abstraction for branch creation (d2db15f by Philipp Krüger).
- Add support for Windows shells (3bee3f3 by Philipp Krüger).
- Implement PoC for switch command (047ac13 by Philipp Krüger).
- Reduce noise in log output (edb9814 by Philipp Krüger).
- Add command to install a git alias (9a47311 by Philipp Krüger).
- First draft (9d68ebb by Philipp Krüger).
Bug Fixes¶
- Add powershell completer for pygwt.exe (db46972 by Philipp Krüger).
- Only copy completion scripts (66aa69d by Philipp Krüger).
- Use importlib_resources for backward compatibility (5fcae6b by Philipp Krüger).
- Only remove GIT_DIR it it exists (1c01fb9 by Philipp Krüger).
- Remove GIT_DIR entirely (812cca5 by Philipp Krüger).
- Use remote HEAD if local does not exists (b88aa54 by Philipp Krüger).
- Remove GIT_DIR variable before spawning shell (d2ab2a3 by Philipp Krüger).
- Start right shell on Windows if command is executed as Git Alias (41ddaf1 by Philipp Krüger).
- Use list_worktree_ex for list command (2be4cb8 by Philipp Krüger).
- Use branch name lookup instead of low level worktree lookup (9370826 by Philipp Krüger).
- Ignore return code of spawned shells (4f9a52b by Philipp Krüger).
- Hash branch name to get unique worktree name (223f4bc by Philipp Krüger).
- Handle error if one of the clone commands fail (3c37682 by Philipp Krüger).
- Check if destination exists when cloning (9af1def by Philipp Krüger).
Code Refactoring¶
- Use git CLI to list worktrees (8832309 by Philipp Krüger).
- Use git API to clone repositories (dce29ac by Philipp Krüger).
- Use git API to install alias (f1fe743 by Philipp Krüger).
- Remove excessive part from alias (511c285 by Philipp Krüger).
- Use Git API for 'add' command (55d3a2a by Philipp Krüger).
- Move creation of worktree under Repository class (f12831c by Philipp Krüger).
- Use open_worktree to detect prunable worktrees (2d5fe83 by Philipp Krüger).
- Move pygit abstraction layer into separate module (cb5cd98 by Philipp Krüger).
- Move code for root dir detection under Repository class (a871bfe by Philipp Krüger).
- Move Shell spwan code under Shell class (aba6f4d by Philipp Krüger).
- Handle all cases with create_branch_ex (d30d2a1 by Philipp Krüger).
- Move typevar definition above function that uses it (3ad00d2 by Philipp Krüger).
- Use bitmaks to configure pushd (6e850ce by Philipp Krüger).