git-stash: do not get fooled with "color.diff = true"

When colors are set to "true" on the repository, the git log output
will contain control characters to set/reset the colors, even when
the output is to a pipe. This makes list_stash() fail as the
downstream sed does not see what it is expecting.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Pascal Obry 2007-11-26 23:04:28 +01:00 committed by Junio C Hamano
parent ecf4831d89
commit aa4f31d5a3

View file

@ -37,7 +37,7 @@ create_stash () {
# state of the base commit
if b_commit=$(git rev-parse --verify HEAD)
then
head=$(git log --abbrev-commit --pretty=oneline -n 1 HEAD)
head=$(git log --no-color --abbrev-commit --pretty=oneline -n 1 HEAD --)
else
die "You do not have the initial commit yet"
fi
@ -108,7 +108,7 @@ have_stash () {
list_stash () {
have_stash || return 0
git log --pretty=oneline -g "$@" $ref_stash |
git log --no-color --pretty=oneline -g "$@" $ref_stash -- |
sed -n -e 's/^[.0-9a-f]* refs\///p'
}