[PATCH v3 2/2] t7102: add 'reset -' tests
- From
- Sudhanshu Shekhar <sudshekhar02@gmail.com>
- Date
- Mar 10, 2015, 22:10 UTC
- Message-ID
- <1426025409-18758-1-git-send-email-sudshekhar02@gmail.com>
- In-Reply-To
- <CAPig+cSU7X=1Ket8bAXU2JivaSVWw7C_M9ttAhJ_gQur3utsUA@mail.gmail.com>
Add following test cases:
1) Confirm error message when git reset is used with no previous branch
2) Confirm git reset - works like git reset @{-1}
3) Confirm "-" is always treated as a commit unless the -- file option is specified
4) Confirm "git reset -" works normally even when a file named @{-1} is presentHelped-by: Eric Sunshine <sunshine@sunshineco.com> Helped-by: Matthieu Moy <Matthieu.Moy@grenoble-inp.fr> Helped-by: David Aguilar <davvid@gmail.com> Signed-off-by: Sudhanshu Shekhar <sudshekhar02@gmail.com> --- First of all, thank you for being so incredibly patient and helpful. I am very grateful for your remarks and reviews. I have implemented your suggestions in this patch. Please let me know if I have missed out on anything else. Also, sorry for sending PATCH 1/2 on the wrong thread, I entered the Message-ID incorrectly (still getting used to send-email :/ ).
Regards, Sudhanshu
t/t7102-reset.sh | 159 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 159 insertions(+)
diff --git a/t/t7102-reset.sh b/t/t7102-reset.sh index 98bcfe2..d3a5874 100755 --- a/t/t7102-reset.sh +++ b/t/t7102-reset.sh @@ -568,4 +568,163 @@ test_expect_success 'reset --mixed sets up work tree' ' test_cmp expect actual ' +test_expect_success 'reset - with no previous branch fails' ' + git init no_previous && + test_when_finished rm -rf no_previous && + ( + cd no_previous && + test_must_fail git reset - 2>actual + ) && + test_i18ngrep "bad flag" no_previous/actual +' + +test_expect_success 'reset - while having file named - and no previous branch fails' ' + git init no_previous && + test_when_finished rm -rf no_previous && + ( + cd no_previous && + >- && + test_must_fail git reset - 2>actual + ) && + test_i18ngrep "bad flag" no_previous/actual +' + +test_expect_success \ + 'reset - in the presence of file named - with previous branch resets commit' ' + cat >expect <<-\EOF + Unstaged changes after reset: + M - + M file + EOF && + git init no_previous && + test_when_finished rm -rf no_previous && + ( + cd no_previous && + >- && + >file && + git add file - && + git commit -m "add base files" && + git checkout -b new_branch && + echo "random" >- && + echo "wow" >file && + git add file - && + git reset - >../actual + ) && + test_cmp expect actual +' + +test_expect_success \ + 'reset - in the presence of file named - with -- option resets commit' ' + cat >expect <<-\EOF + Unstaged changes after reset: + M - + M file + EOF && + git init no_previous && + test_when_finished rm -rf no_previous && + ( + cd no_previous && + >- && + >file && + git add file - && + git commit -m "add base files" && + git checkout -b new_branch && + echo "random" >- && + echo "wow" >file && + git add file - && + git reset - -- >../actual + ) && + test_cmp expect actual +' + +test_expect_success 'reset - in the presence of file named - with -- file option resets file' ' + cat >expect <<-\EOF + Unstaged changes after reset: + M - + M file + EOF && + git init no_previous && + test_when_finished rm -rf no_previous && + ( + cd no_previous && + >- && + >file && + git add file - && + git commit -m "add base files" && + git checkout -b new_branch && + echo "random" >- && + echo "wow" >file && + git add file - && + git reset -- - >../actual + ) && + test_cmp expect actual +' + +test_expect_success \ + 'reset - in the presence of file named - with both pre and post -- option resets file' ' + cat >expect <<-\EOF + Unstaged changes after reset:" >expect && + M - + EOF && + git init no_previous && + test_when_finished rm -rf no_previous && + ( + cd no_previous && + >- && + >file && + git add file - && + git commit -m "add base files" && + git checkout -b new_branch && + echo "random" >- && + echo "wow" >file && + git add file - && + git reset - -- - >../actual + ) && + test_cmp expect actual +' + +test_expect_success 'reset - works same as reset @{-1}' ' + git init no_previous && + test_when_finished rm -rf no_previous && + ( + cd no_previous && + echo "file1" >file1 && + git add file1 && + git commit -m "base commit" && + git checkout -b temp && + echo "new file" >file && + git add file && + git commit -m "added file" && + git reset - && + git status --porcelain >../actual && + git add file && + git commit -m "added file" && + git reset @{-1} && + git status --porcelain >../expect + ) && + test_cmp expect actual +' + +test_expect_success 'reset - with file named @{-1} succeeds' ' + cat >expect <<EOF + Unstaged changes after reset: + M file + M @{-1} + EOF && + git init no_previous && + test_when_finished rm -rf no_previous && + ( + cd no_previous && + echo "random" >@{-1} && + echo "random" >file && + git add @{-1} file && + git commit -m "base commit" && + git checkout -b new_branch && + echo "additional stuff" >>file && + echo "additional stuff" >>@{-1} && + git add file @{-1} && + git reset - >../actual + ) && + test_cmp expect actual +' + test_done
-- 2.3.1.278.ge5c7b1f.dirty