Browse Source

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
maint
Junio C Hamano 11 years ago
parent
commit
753aaf3aab
  1. 2
      git-stash.sh
  2. 42
      t/t3903-stash.sh

2
git-stash.sh

@ -297,7 +297,7 @@ have_stash () { @@ -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 () {

42
t/t3903-stash.sh

@ -685,4 +685,46 @@ test_expect_success 'handle stash specification with spaces' ' @@ -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

Loading…
Cancel
Save