]> granicus.if.org Git - git/commit
describe: setup working tree for --dirty
authorSebastian Staudt <koraktor@gmail.com>
Sun, 3 Feb 2019 06:00:24 +0000 (07:00 +0100)
committerJunio C Hamano <gitster@pobox.com>
Mon, 4 Feb 2019 18:27:54 +0000 (10:27 -0800)
commit2ed5c8e174dae73459df11386dc83e8ef4154e3f
tree36541a87faf89f17eba6448c35a794c24e13c9df
parent268fbcd172cdb306e8a3e7143cc16677c963d6cd
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>
builtin/describe.c
t/t6120-describe.sh