[StGit PATCH] Add some tests of refreshing removed files
- From
Karl Hasselström <kha@treskal.com>
- Date
- Aug 4, 2008, 13:41 UTC
- Message-ID
- <20080804134050.19457.96613.stgit@yoghurt>
- In-Reply-To
- <9e4733910807311902nd3a02bep68c8a26a7e6303cd@mail.gmail.com>
Signed-off-by: Karl Hasselström <kha@treskal.com>
---
These four tests all pass on Catalin's current master. Do they fail for you, or did I miss something in your problem description?
t/t2702-refresh-rm.sh | 101 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 101 insertions(+), 0 deletions(-) create mode 100755 t/t2702-refresh-rm.sh
diff --git a/t/t2702-refresh-rm.sh b/t/t2702-refresh-rm.sh new file mode 100755 index 0000000..896ebf3 --- /dev/null +++ b/t/t2702-refresh-rm.sh @@ -0,0 +1,101 @@ +#!/bin/sh + +test_description='"stg refresh" with removed files' + +. ./test-lib.sh + +# Ignore our own temp files. +cat >> .git/info/exclude <<EOF +expected*.txt +files*.txt +status*.txt +EOF + +reset () { + stg pop -a > /dev/null + git reset --hard > /dev/null +} + +test_expect_success 'Initialize StGit stack' ' + stg init && + echo x > x.txt && + echo y > y.txt && + git add x.txt y.txt && + git commit -m "Add some files" +' + +cat > expected0.txt <<EOF +D y.txt +EOF +printf '' > expected1.txt +test_expect_success 'git-rm a file' ' + stg new -m p0 && + git rm y.txt && + stg status > status0.txt && + test_cmp expected0.txt status0.txt && + stg refresh && + stg status > status1.txt && + test_cmp expected1.txt status1.txt && + stg files | sort > files.txt && + test_cmp expected0.txt files.txt +' + +reset + +cat > expected0.txt <<EOF +D y.txt +M x.txt +EOF +printf '' > expected1.txt +test_expect_success 'git-rm a file together with other changes' ' + stg new -m p1 && + echo x2 >> x.txt && + git rm y.txt && + stg status > status0.txt && + test_cmp expected0.txt status0.txt && + stg refresh && + stg status > status1.txt && + test_cmp expected1.txt status1.txt && + stg files | sort > files.txt && + test_cmp expected0.txt files.txt +' + +reset + +cat > expected0.txt <<EOF +D y.txt +EOF +printf '' > expected1.txt +test_expect_success 'rm a file' ' + stg new -m p2 && + rm y.txt && + stg status > status0.txt && + test_cmp expected0.txt status0.txt && + stg refresh && + stg status > status1.txt && + test_cmp expected1.txt status1.txt && + stg files | sort > files.txt && + test_cmp expected0.txt files.txt +' + +reset + +cat > expected0.txt <<EOF +D y.txt +M x.txt +EOF +printf '' > expected1.txt +test_expect_success 'rm a file together with other changes' ' + stg new -m p3 && + echo x2 >> x.txt && + rm y.txt && + stg status > status0.txt && + test_cmp expected0.txt status0.txt && + stg refresh && + stg status > status1.txt && + test_cmp expected1.txt status1.txt && + stg files | sort > files.txt && + test_cmp expected0.txt files.txt +' + +test_done