User Feedback
A GitSplit user reported 3 failed attempts with Move-Commit before giving up and doing it manually.
Issues
-
Branch already exists — Move-Commit -CreateDestinationBranch refuses if the branch already exists. The error could suggest "use the existing branch or delete it first."
-
Untracked files = "uncommitted changes" — Untracked files (e.g. video files) in the working tree trigger "Uncommitted changes detected." These are untracked, not modified tracked files — conflating the two is misleading. The error doesn't list which files are the problem, forcing the user to guess and add -AutoStash.
-
Rebase --onto failed + leftover worktree — With -AutoStash, GitSplit created a .gitsplit-worktrees/ directory, attempted the rebase, and failed. It left the worktree behind, which blocked future attempts (cannot delete branch used by worktree). User had to manually git worktree remove --force to recover.
-
Better error messages — "rebase --onto failed" without saying why (conflicts? untracked files?) makes debugging impossible without reading the source.
Proposed Fixes
- Distinguish untracked from modified — untracked files shouldn't block the operation, or at minimum the error should list the offending files
- Clean up worktrees on failure — leaving
.gitsplit-worktrees/ behind blocks all retries
- Handle existing branches — offer to reuse or delete instead of just erroring
- Better error messages — include conflict details, file lists, and recovery suggestions
User Feedback
A GitSplit user reported 3 failed attempts with
Move-Commitbefore giving up and doing it manually.Issues
Branch already exists —
Move-Commit -CreateDestinationBranchrefuses if the branch already exists. The error could suggest "use the existing branch or delete it first."Untracked files = "uncommitted changes" — Untracked files (e.g. video files) in the working tree trigger "Uncommitted changes detected." These are untracked, not modified tracked files — conflating the two is misleading. The error doesn't list which files are the problem, forcing the user to guess and add
-AutoStash.Rebase --onto failed + leftover worktree — With
-AutoStash, GitSplit created a.gitsplit-worktrees/directory, attempted the rebase, and failed. It left the worktree behind, which blocked future attempts (cannot delete branch used by worktree). User had to manuallygit worktree remove --forceto recover.Better error messages — "rebase --onto failed" without saying why (conflicts? untracked files?) makes debugging impossible without reading the source.
Proposed Fixes
.gitsplit-worktrees/behind blocks all retries