Add a test for "git stash branch"
Make sure that applying the stash to a new branch after a conflicting change doesn't result in an error when you try to commit. Signed-off-by: Abhijit Menon-Sen <ams@toroid.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
656b503452
commit
4a588075c5
@ -117,4 +117,64 @@ test_expect_success 'stash pop' '
|
|||||||
test 0 = $(git stash list | wc -l)
|
test 0 = $(git stash list | wc -l)
|
||||||
'
|
'
|
||||||
|
|
||||||
|
cat > expect << EOF
|
||||||
|
diff --git a/file2 b/file2
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..1fe912c
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/file2
|
||||||
|
@@ -0,0 +1 @@
|
||||||
|
+bar2
|
||||||
|
EOF
|
||||||
|
|
||||||
|
cat > expect1 << EOF
|
||||||
|
diff --git a/file b/file
|
||||||
|
index 257cc56..5716ca5 100644
|
||||||
|
--- a/file
|
||||||
|
+++ b/file
|
||||||
|
@@ -1 +1 @@
|
||||||
|
-foo
|
||||||
|
+bar
|
||||||
|
EOF
|
||||||
|
|
||||||
|
cat > expect2 << EOF
|
||||||
|
diff --git a/file b/file
|
||||||
|
index 7601807..5716ca5 100644
|
||||||
|
--- a/file
|
||||||
|
+++ b/file
|
||||||
|
@@ -1 +1 @@
|
||||||
|
-baz
|
||||||
|
+bar
|
||||||
|
diff --git a/file2 b/file2
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..1fe912c
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/file2
|
||||||
|
@@ -0,0 +1 @@
|
||||||
|
+bar2
|
||||||
|
EOF
|
||||||
|
|
||||||
|
test_expect_success 'stash branch' '
|
||||||
|
echo foo > file &&
|
||||||
|
git commit file -m first
|
||||||
|
echo bar > file &&
|
||||||
|
echo bar2 > file2 &&
|
||||||
|
git add file2 &&
|
||||||
|
git stash &&
|
||||||
|
echo baz > file &&
|
||||||
|
git commit file -m second &&
|
||||||
|
git stash branch stashbranch &&
|
||||||
|
test refs/heads/stashbranch = $(git symbolic-ref HEAD) &&
|
||||||
|
test $(git rev-parse HEAD) = $(git rev-parse master^) &&
|
||||||
|
git diff --cached > output &&
|
||||||
|
test_cmp output expect &&
|
||||||
|
git diff > output &&
|
||||||
|
test_cmp output expect1 &&
|
||||||
|
git add file &&
|
||||||
|
git commit -m alternate\ second &&
|
||||||
|
git diff master..stashbranch > output &&
|
||||||
|
test_cmp output expect2 &&
|
||||||
|
test 0 = $(git stash list | wc -l)
|
||||||
|
'
|
||||||
|
|
||||||
test_done
|
test_done
|
||||||
|
Loading…
Reference in New Issue
Block a user