In this case the first test rebases the branch created in setup (it's testing the rebase merge strategy), the second test should do the same thing, except check there is a warning if a --message option is passed. I suppose I could find the old pre-rebase head and work with that, but that doesn't seem that clean to me. Here's the code (non-working): #!/bin/sh test_description='merge-rebase backend test' . ./test-lib.sh test_expect_success setup ' echo hello >a && git add a && test_tick && git commit -m initial && git checkout -b branch && echo hello >b && git add b && test_tick && git commit -m onbranch && git checkout master && echo update >a && git add a && test_tick && git commit -m update ' test_expect_success 'merging using rebase does not create merge commit' ' git checkout branch && git merge -s rebase master && ( git log --pretty=oneline ) >actual && ( echo "4db7a5a013e67aa623d1fd294e8d46e89b3ace8f onbranch" echo "893371811dbd13e85c098b72d1ab42bcfd24c2db update" echo "0e960b10429bf3f1e168ee2cc7d531ac7c622580 initial" ) >expected && git diff -w -u expected actual ' test_expect_success 'merging using rebase with message gives warning' ' #doesn't work because the branch has already been rebased and is therefore up to date git checkout branch && git merge -m "a message" -s rebase master 2>&1 expected && ( echo "warning: Message is not used for rebase merge strategy" ) >expected && git diff -w -u expected actual ' test_done -Tom On 10/1/07, Johannes Schindelin <Johannes.Schindelin@xxxxxx> wrote: > Hi, > > On Mon, 1 Oct 2007, Tom Clarke wrote: > > > I'm wondering if there's a pattern for re-using setups across several > > tests, similar to how a setUp function is used in xUnit. The problem is > > I need the setup to actually be re-run, for each test to start from a > > clean slate, so using the following doesn't work as the setup is just > > run before the first test. > > We typically do the clean up phase explicitely. Or avoid it. > > Example: you want to do something to a branch, but the next step should > use the original state of the branch. > > Solution: "git checkout -b new-branch HEAD~5" > > Sorry, unless you are a little less mysterious about the exact use case > you have in mind, I cannot help more. > > Ciao, > Dscho > > - 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