github gitbutlerapp/gitbutler release/0.23.3

2 hours ago

Changes

  • Updating the workspace now updates linked worktrees too
  • Operations that update linked worktrees now preserve conflicting uncommitted changes with conflict markers

Fixes

  • Repositories owned by another user now explain how to allow access with safe.directory
  • Fixes branch apply, unapply and update operations writing encrypted files or Git LFS pointers instead of usable file contents in git-crypt and Git LFS repositories
  • Fixes unnecessary conflicts and incorrect file contents when combining branches based on different target commits
  • Fixes updating the workspace leaving local branches behind after they were merged
  • Fixes failed checkouts leaving files partly written or losing uncommitted edits
  • Fixes project loading failing when another process deletes an untracked file while changes are being read

CLI

  • but commit, but amend, but discard and but diff now accept Git-style paths, including relative and absolute paths, directories and .
  • but undo now refuses operations it cannot safely reverse on branches checked out in linked worktrees
  • but now gives clearer errors and recovery steps for repository, branch, worktree, push, merge, undo and forge authentication problems, and suggests alternatives to unsupported commands
  • but push --dry-run now reports branches that cannot be pushed, including branches containing conflicted commits, and exits non-zero if any are refused
  • but reword now reads commit messages or branch names from a file or stdin with -F
  • but amend now defaults to the latest commit when the target branch is unambiguous
  • but amend now refuses when there are no changes to amend
  • but diff now accepts several file targets
  • but diff and but show now support --stat for changed-file and line counts
  • but pr new now accepts messages with blank lines before the title
  • but amend -t and but squash -t now accept branches checked out in linked worktrees
  • but worktree new, but worktree remove and but branch delete now handle worktree directories deleted outside GitButler
  • but commit runs Git commit hooks again in the main checkout; -n/--no-hooks or --no-verify skips them (linked-worktree commits still skip hooks)
  • but pull now removes stale remote-tracking branches after updating
  • but now reports linked worktrees whose uncommitted changes gained conflict markers
  • Fixes but uncommit being blocked by unrelated conflicted commits
  • Fixes but resolve conflicts <commit> suggesting a resolution command for the wrong commit
  • Fixes but diff reporting clean files as missing
  • Fixes amending an empty branch rewriting the commit below it
  • Fixes but resolve overlooking conflicted commits in linked worktrees
  • Fixes but failing to open repositories beneath a previously registered project whose .git directory was removed
  • Fixes but pull leaving local branches behind after they were merged

Native app

Highlights from the native app, available under "Experimental" in settings:

  • Adds split panes for pages and terminals, with drag-and-drop arrangement, keyboard navigation and saved page positions
  • The navigator can now appear as tabs across the top of the window, with drag-and-drop ordering for projects and worktrees
  • Adds a command editor for customizing keyboard shortcuts and finding commands by pressing their keys
  • Adds but://open links to projects, branches, commits, uncommitted changes, files and lines, tabs and settings
  • Files in the working tree can now be edited directly in the diff, including tracked files with no changes
  • Committing changes with dependencies now offers to stack the required branches instead of creating a partial commit
  • Adds an option to archive or delete clean worktrees after an update finds their branches merged

New Contributors

Full Changelog: release/0.23.2...release/0.23.3

Downloads

Download bins from https://gitbutler.com/

Don't miss a new gitbutler release

NewReleases is sending notifications on new releases.