Eric Sunshine <sunshine@xxxxxxxxxxxxxx> writes: > On Tue, Aug 13, 2019 at 2:04 PM SZEDER Gábor <szeder.dev@xxxxxxxxx> wrote: >> To avoid data loss, 'git worktree remove' refuses to delete a worktree >> if it's dirty or contains untracked files. However, the error message >> only mentions that the worktree "is dirty", even if the worktree in >> question is in fact clean, but contains untracked files: >> [...] >> Clarify this error message to say that the worktree "contains modified >> or untracked files". >> >> Signed-off-by: SZEDER Gábor <szeder.dev@xxxxxxxxx> >> --- >> diff --git a/builtin/worktree.c b/builtin/worktree.c >> @@ -880,7 +880,7 @@ static void check_clean_worktree(struct worktree *wt, >> ret = xread(cp.out, buf, sizeof(buf)); >> if (ret) >> - die(_("'%s' is dirty, use --force to delete it"), >> + die(_("'%s' contains modified or untracked files, use --force to delete it"), >> original_path); > > Makes sense. This is a different type of "dirtiness" than, say, "git > rebase --interactive" which cares about unstaged changes but generally > doesn't mind untracked files. So, it deserves an error message which > mentions untracked files explicitly. > > We could actually parse the output of "git status --porcelain" (which > is invoked just above this spot) and provide a more specific error > message ("...contains modified files" or "...contains untracked > files") but that's probably not worth the effort. > > Anyhow, for what it's worth: > Reviewed-by: Eric Sunshine <sunshine@xxxxxxxxxxxxxx> Thanks, both.