summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2014-09-09 12:54:00 -0700
committerJunio C Hamano <gitster@pobox.com>2014-09-09 12:54:00 -0700
commit753aaf3aabe698bbc965fdbb66aceb2e5eda2454 (patch)
treeb4895045aa743e1e57d79557c978ee3fa48a227c
parent1bada2b0ccd19ca40c18f01cb4d66675d32d385c (diff)
parent288c67caf64af111aeb7c45cb8b6ba586a61c724 (diff)
downloadgit-753aaf3aabe698bbc965fdbb66aceb2e5eda2454.tar.gz
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
-rwxr-xr-xgit-stash.sh2
-rwxr-xr-xt/t3903-stash.sh42
2 files changed, 43 insertions, 1 deletions
diff --git a/git-stash.sh b/git-stash.sh
index bcc757b390..9c1ba8e4b8 100755
--- a/git-stash.sh
+++ b/git-stash.sh
@@ -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 () {
diff --git a/t/t3903-stash.sh b/t/t3903-stash.sh
index 5b79b216e2..1e29962fad 100755
--- a/t/t3903-stash.sh
+++ b/t/t3903-stash.sh
@@ -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