]> git.ipfire.org Git - thirdparty/git.git/commitdiff
worktree remove: clarify error message on dirty worktree
authorSZEDER Gábor <szeder.dev@gmail.com>
Tue, 13 Aug 2019 18:02:44 +0000 (20:02 +0200)
committerJunio C Hamano <gitster@pobox.com>
Tue, 13 Aug 2019 20:10:09 +0000 (13:10 -0700)
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:

  $ git worktree add test-worktree
  Preparing worktree (new branch 'test-worktree')
  HEAD is now at aa53e60 Initial
  $ >test-worktree/untracked-file
  $ git worktree remove test-worktree/
  fatal: 'test-worktree/' is dirty, use --force to delete it
  $ git -C test-worktree/ diff
  $ git -C test-worktree/ diff --cached
  $ # Huh?  Where are those dirty files?!

Clarify this error message to say that the worktree "contains modified
or untracked files".

Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
Reviewed-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/worktree.c

index a5bb02b2076a27a78947fda25c1e16dafd637622..7f094f8170ae7d55d453a2b0ab5db933ddf395ba 100644 (file)
@@ -880,7 +880,7 @@ static void check_clean_worktree(struct worktree *wt,
                          original_path);
        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);
        close(cp.out);
        ret = finish_command(&cp);