blob: 2d8507806a8f753e89d04fadae725a0059d3637b [file] [log] [blame]
#!/bin/sh
test_description='Test stg commit'
. ./test-lib.sh
test_expect_success 'Initialize the StGIT repository' '
stg init
'
test_expect_success 'Commit middle patch' '
stg new -m p1 &&
stg new -m p2 &&
stg new -m p3 &&
stg new -m p4 &&
stg pop &&
stg commit p2 &&
test "$(echo $(stg series))" = "+ p1 > p3 - p4"
'
test_expect_success 'Commit first patch' '
stg commit &&
test "$(echo $(stg series))" = "> p3 - p4"
'
test_expect_success 'Commit all patches' '
stg push &&
stg commit -a &&
test "$(echo $(stg series))" = ""
'
# stg commit with top != head should not succeed, since the committed
# patches are poptentially lost.
test_expect_success 'Commit when top != head (should fail)' '
stg new -m foo &&
git reset --hard HEAD^ &&
h=$(git rev-parse HEAD)
command_error stg commit &&
test $(git rev-parse HEAD) = $h &&
test "$(echo $(stg series))" = "> foo"
'
test_done