#!/bin/sh
#
# Copyright (c) 2007 Yann Dirson
#

test_description='Test the "rebase" command.'

. ./test-lib.sh

test_expect_success \
	'Setup a multi-commit branch and fork an stgit stack' \
	'
	echo foo > file1 &&
	stg add file1 &&
	git commit -m a &&
	echo foo > file2 &&
	stg add file2 &&
	git commit -m b &&

	stg branch --create stack &&
	stg new p -m . &&
	echo bar >> file1 &&
	stg refresh
	'

test_expect_success \
	'Rebase to previous commit' \
	'
	stg rebase master~1 &&
	test `stg id stack:{base}` = `git rev-parse master~1` &&
	test `stg series --applied -c` = 1
	'

test_expect_success \
	'Attempt rebase to non-existing commit' \
	'
	command_error stg rebase not-a-ref
	'

test_expect_success \
	'Check patches were re-applied' \
	'
	test $(stg series --applied -c) = 1
	'

test_done
