summaryrefslogtreecommitdiff
path: root/t/t3400-rebase.sh
diff options
context:
space:
mode:
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>2009-05-23 15:31:02 (GMT)
committerJunio C Hamano <gitster@pobox.com>2009-05-24 17:25:55 (GMT)
commit7a7eb5173d4e16f0323b2c4078e88fc0a40c38b6 (patch)
tree29fd26d31e3a80275d78b6b4e38ba221772b7f65 /t/t3400-rebase.sh
parent5ffd3113d4109ae5d3595425af3ff4a781617631 (diff)
downloadgit-7a7eb5173d4e16f0323b2c4078e88fc0a40c38b6.zip
git-7a7eb5173d4e16f0323b2c4078e88fc0a40c38b6.tar.gz
git-7a7eb5173d4e16f0323b2c4078e88fc0a40c38b6.tar.bz2
t/t3400-rebase.sh: add more tests to help migrating git-rebase.sh to C
These new tests make sure I don't miss any check being performed before rebase is proceeded (which is well tested by other tests) Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t3400-rebase.sh')
-rwxr-xr-xt/t3400-rebase.sh31
1 files changed, 31 insertions, 0 deletions
diff --git a/t/t3400-rebase.sh b/t/t3400-rebase.sh
index 6e391a3..7f62bfb 100755
--- a/t/t3400-rebase.sh
+++ b/t/t3400-rebase.sh
@@ -41,9 +41,40 @@ test_expect_success \
git tag topic
'
+test_expect_success 'rebase on dirty worktree' '
+ echo dirty >> A &&
+ test_must_fail git rebase master'
+
+test_expect_success 'rebase on dirty cache' '
+ git add A &&
+ test_must_fail git rebase master'
+
test_expect_success 'rebase against master' '
+ git reset --hard HEAD &&
git rebase master'
+test_expect_success 'rebase against master twice' '
+ git rebase master 2>err &&
+ grep "Current branch my-topic-branch is up to date" err
+'
+
+test_expect_success 'rebase against master twice with --force' '
+ git rebase --force-rebase master >out &&
+ grep "Current branch my-topic-branch is up to date, rebase forced" out
+'
+
+test_expect_success 'rebase against master twice from another branch' '
+ git checkout my-topic-branch^ &&
+ git rebase master my-topic-branch 2>err &&
+ grep "Current branch my-topic-branch is up to date" err
+'
+
+test_expect_success 'rebase fast-forward to master' '
+ git checkout my-topic-branch^ &&
+ git rebase my-topic-branch 2>err &&
+ grep "Fast-forwarded HEAD to my-topic-branch" err
+'
+
test_expect_success \
'the rebase operation should not have destroyed author information' \
'! (git log | grep "Author:" | grep "<>")'