[StGit PATCH 1/2] Add test to ensure that "stg clean" preserves conflicting patches
- From
Karl Hasselström <kha@treskal.com>
- Date
- Jan 29, 2008, 03:11 UTC
- Message-ID
- <20080129031014.1095.78501.stgit@yoghurt>
- In-Reply-To
- <20080129030752.1095.27968.stgit@yoghurt>
From: Pavel Roskin <proski@gnu.org>
If "stg push" fails, the subsequent "stg clean" will remove the patch that could not be applied. I think it's wrong. Especially when doing "stg pull", it can happen that I want to run "stg clean" to get rid of the patches applied upstream so I can concentrate on the conflict. Instead, the conflicting patch is removed too.
The test added by this patch should pass once the bug is fixed.
Signed-off-by: Pavel Roskin <proski@gnu.org> Signed-off-by: Karl Hasselström <kha@treskal.com>
---
I doctored the commit message a bit, and made the failing test use test_expect_failure.
t/t2500-clean.sh | 17 +++++++++++++++++ 1 files changed, 17 insertions(+), 0 deletions(-)
diff --git a/t/t2500-clean.sh b/t/t2500-clean.sh index 3364c18..b38d868 100755 --- a/t/t2500-clean.sh +++ b/t/t2500-clean.sh @@ -24,4 +24,21 @@ test_expect_success 'Clean empty patches' ' [ "$(echo $(stg unapplied))" = "" ] ' +test_expect_success 'Create a conflict' ' + stg new p1 -m p1 && + echo bar > foo.txt && + stg refresh && + stg pop && + stg new p2 -m p2 + echo quux > foo.txt && + stg refresh && + ! stg push +' + +test_expect_failure 'Make sure conflicting patches are preserved' ' + stg clean && + [ "$(echo $(stg applied))" = "p0 p2 p1" ] && + [ "$(echo $(stg unapplied))" = "" ] +' + test_done