git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] worktree remove: clarify error message on dirty worktree

From
SZEDER Gábor <szeder.dev@gmail.com>
Date
Aug 13, 2019, 18:02 UTC
Message-ID
<20190813180244.28641-1-szeder.dev@gmail.com>

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

I spent more time searching for those dirty files that I would like to admit...

 builtin/worktree.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/builtin/worktree.c b/builtin/worktree.c
index a5bb02b207..7f094f8170 100644
--- a/builtin/worktree.c
+++ b/builtin/worktree.c
@@ -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);
-- 
2.23.0.rc2.350.gf4fdc32db7
Next: Eric Sunshine
Message 1 of 3 in “worktree remove: clarify error message on dirty worktree”
  1. worktree remove: clarify error message on dirty worktreeSZEDER Gábor, Aug 13, 2019
  2. Eric SunshineAug 13, 2019
  3. Junio C HamanoAug 13, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.