Re: `git describe --dirty` doesn't consider untracked files to be dirty
From: Aaron Schrab <hidden>
Date: 2020-09-08 23:25:50
At 09:33 -0700 08 Sep 2020, Junio C Hamano [off-list ref] wrote:
Ash Holland [off-list ref] writes:quoted
There seems to be a discrepancy between how `git describe --dirty` is documented and how it actually behaves. The documentation describes the --dirty flag like this:quoted
If the working tree has local modification "-dirty" is appended to it.Not limited to what "describe" does, whenever we mention "local modification", we only mean modification to tracked contents, because by definition we do not detect or track "modifications" to anything that is not tracked. Untracked paths may have been modified multiple times, but since they are not even added, we do not notice nor care.
It's perhaps worth noting that submodules are already considered dirty when untracked files are added: $ git diff vim/bundle/fugitive $ echo foo >vim/bundle/fugitive/foo $ git diff vim/bundle/fugitive
diff --git i/vim/bundle/fugitive w/vim/bundle/fugitive
--- i/vim/bundle/fugitive
+++ w/vim/bundle/fugitive@@ -1 +1 @@ -Subproject commit caf3b1d5696e8d39a905e48f1e89d8c0c565168c +Subproject commit caf3b1d5696e8d39a905e48f1e89d8c0c565168c-dirty