summaryrefslogtreecommitdiff
path: root/builtin/describe.c
diff options
context:
space:
mode:
authorSebastian Staudt <koraktor@gmail.com>2019-02-03 06:00:24 (GMT)
committerJunio C Hamano <gitster@pobox.com>2019-02-04 18:27:54 (GMT)
commit2ed5c8e174dae73459df11386dc83e8ef4154e3f (patch)
tree36541a87faf89f17eba6448c35a794c24e13c9df /builtin/describe.c
parent268fbcd172cdb306e8a3e7143cc16677c963d6cd (diff)
downloadgit-2ed5c8e174dae73459df11386dc83e8ef4154e3f.zip
git-2ed5c8e174dae73459df11386dc83e8ef4154e3f.tar.gz
git-2ed5c8e174dae73459df11386dc83e8ef4154e3f.tar.bz2
describe: setup working tree for --dirty
We don't use NEED_WORK_TREE when running the git-describe builtin, since you should be able to describe a commit even in a bare repository. However, the --dirty flag does need a working tree. Since we don't call setup_work_tree(), it uses whatever directory we happen to be in. That's unlikely to match our index, meaning we'd say "dirty" even when the real working tree is clean. We can fix that by calling setup_work_tree() once we know that the user has asked for --dirty. The --broken option also needs a working tree. But because its implementation calls git-diff-index we don‘t have to setup the working tree in the git-describe process. Signed-off-by: Sebastian Staudt <koraktor@gmail.com> Helped-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/describe.c')
-rw-r--r--builtin/describe.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/builtin/describe.c b/builtin/describe.c
index cf1ae77..d281dff 100644
--- a/builtin/describe.c
+++ b/builtin/describe.c
@@ -617,6 +617,7 @@ int cmd_describe(int argc, const char **argv, const char *prefix)
struct argv_array args = ARGV_ARRAY_INIT;
int fd, result;
+ setup_work_tree();
read_cache_preload(NULL);
refresh_index(&the_index, REFRESH_QUIET|REFRESH_UNMERGED,
NULL, NULL, NULL);