Merge branch 'jk/stash-list-p'

Teach "git stash list -p" to show the difference between the base
commit version and the working tree version, which is in line with
what "git show" gives.

* jk/stash-list-p:
  stash: default listing to working-tree diff
This commit is contained in:
Junio C Hamano 2014-09-09 12:54:00 -07:00
commit 753aaf3aab
2 changed files with 43 additions and 1 deletions

View File

@ -297,7 +297,7 @@ have_stash () {
list_stash () {
have_stash || return 0
git log --format="%gd: %gs" -g "$@" $ref_stash --
git log --format="%gd: %gs" -g --first-parent -m "$@" $ref_stash --
}
show_stash () {

View File

@ -685,4 +685,46 @@ test_expect_success 'handle stash specification with spaces' '
grep pig file
'
test_expect_success 'setup stash with index and worktree changes' '
git stash clear &&
git reset --hard &&
echo index >file &&
git add file &&
echo working >file &&
git stash
'
test_expect_success 'stash list implies --first-parent -m' '
cat >expect <<-\EOF &&
stash@{0}: WIP on master: b27a2bc subdir
diff --git a/file b/file
index 257cc56..d26b33d 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-foo
+working
EOF
git stash list -p >actual &&
test_cmp expect actual
'
test_expect_success 'stash list --cc shows combined diff' '
cat >expect <<-\EOF &&
stash@{0}: WIP on master: b27a2bc subdir
diff --cc file
index 257cc56,9015a7a..d26b33d
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,1 @@@
- foo
-index
++working
EOF
git stash list -p --cc >actual &&
test_cmp expect actual
'
test_done