Skip to content

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

Compare with 0.4.0

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

Compare with 0.3.1

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

Compare with 0.3.0

Bug Fixes

  • Use incomplete in completions (561eb06 by Philipp Krüger).

0.3.0 - 2024-06-05

Compare with first commit

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).