]> git.ipfire.org Git - thirdparty/git.git/commit - t/t3903-stash.sh
stash: prefer plumbing over git-diff
authorJeff King <peff@peff.net>
Tue, 6 Dec 2016 20:25:21 +0000 (15:25 -0500)
committerJunio C Hamano <gitster@pobox.com>
Tue, 6 Dec 2016 22:16:53 +0000 (14:16 -0800)
commit9d4e28ead5bf133d014dfc9e9345f6bf083eefea
treec57aac1e945bec24e9f39b0a223a2a5ac1e5ec00
parent05219a1276341e72d8082d76b7f5ed394b7437a4
stash: prefer plumbing over git-diff

When creating a stash, we need to look at the diff between
the working tree and HEAD, and do so using the git-diff
porcelain.  Because git-diff enables porcelain config like
renames by default, this causes at least one problem. The
--name-only format will not mention the source side of a
rename, meaning we will fail to stash a deletion that is
part of a rename.

We could fix that case by passing --no-renames, but this is
a symptom of a larger problem. We should be using the
diff-index plumbing here, which does not have renames
enabled by default, and also does not respect any
potentially confusing config options.

Reported-by: Matthew Patey <matthew.patey2167@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-stash.sh
t/t3903-stash.sh