Skip to content

Move-Commit ergonomics: untracked files, leftover worktrees, branch exists, error messages #20

Description

@dkattan

User Feedback

A GitSplit user reported 3 failed attempts with Move-Commit before giving up and doing it manually.

Issues

  1. Branch already existsMove-Commit -CreateDestinationBranch refuses if the branch already exists. The error could suggest "use the existing branch or delete it first."

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

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

  4. Better error messages — "rebase --onto failed" without saying why (conflicts? untracked files?) makes debugging impossible without reading the source.

Proposed Fixes

  1. Distinguish untracked from modified — untracked files shouldn't block the operation, or at minimum the error should list the offending files
  2. Clean up worktrees on failure — leaving .gitsplit-worktrees/ behind blocks all retries
  3. Handle existing branches — offer to reuse or delete instead of just erroring
  4. Better error messages — include conflict details, file lists, and recovery suggestions

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions