Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx> writes: > +test_expect_success 'rebase on dirty worktree' ' > + echo dirty >> A && > + ! git rebase master' It is a good defensive way to use "test_must_fail" instead of "!" when testing git itself; test_must_fail does not allow the program to terminate with non-zero value by segfaulting, while "!" does. > +test_expect_success 'rebase on dirty cache' ' > + git add A && Two-spaces? > + ! git rebase master' > + > test_expect_success 'rebase against master' ' > + git reset HEAD && > + git checkout -f && Hmm, why not "reset --hard HEAD". Not asking to change (yet), but just asking if there is a reason. > git rebase master' > > +test_expect_success 'rebase against master twice' ' > + git rebase master 2>&1|grep "Current branch my-topic-branch is up to date\\." > +' > + > +test_expect_success 'rebase against master twice with --force' ' > + git rebase --force-rebase master 2>&1|grep "Current branch my-topic-branch is up to date, rebase forced" Do not to use any pipe while testing, i.e. git rebase >out 2>err && grep "what you expect in 'out'" out && grep "what you expect in 'err'" err so that you can catch exit status from the command you placed in the upstream of the pipe. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html