[StGIT PATCH] Test "stg rebase" after "stg commit"
From: Karl Hasselström <hidden>
Date: 2016-06-15 22:43:08
Subsystem:
the rest · Maintainer:
Linus Torvalds
Two new tests for "stg rebase":
1. Try to rebase to a commit that is ahead of HEAD. This should
work, and does.
2. Try to commit a patch, and then rebase. This doesn't work,
because "stg rebase" aborts if orig-base != base, and "stg
commit" doesn't update orig-base. (It does work if "stg rebase"
is given the --force flag.)
Signed-off-by: Karl Hasselström <redacted>
---
(2) shows a bug in "stg rebase"'s safety logic. I'm not sure how to
fix it, because I don't know how it's supposed to work in the first
place. (An obvious fix would be to update it whenever the base
changes, but that'll take some work, and I'm not convinced it can't be
done with les work. Yes, I'm lazy.) Yann, could you explain?
t/t2200-rebase.sh | 16 ++++++++++++++++
1 files changed, 16 insertions(+), 0 deletions(-)
diff --git a/t/t2200-rebase.sh b/t/t2200-rebase.sh
index 52462dd..b48e513 100755
--- a/t/t2200-rebase.sh
+++ b/t/t2200-rebase.sh@@ -30,4 +30,20 @@ test_expect_success \ test `stg id base@stack` = `git rev-parse master~1` ' +test_expect_success \ + 'Rebase to next commit' \ + ' + stg rebase master && + test $(stg id base@stack) = $(git rev-parse master) + ' + +test_expect_success \ + 'Commit the patch and rebase again' \ + ' + stg commit && + git tag committed-here && + stg rebase master && + test $(stg id base@stack) = $(git rev-parse master) + ' + test_done