From: Stefan Beller Date: Mon, 04 May 2015 17:09:37 GMT Subject: Re: [PATCH 5/7] t5520: test --rebase with multiple branches Message-ID: In-Reply-To: <1430581035-29464-6-git-send-email-pyokagan@gmail.com> On Sat, May 2, 2015 at 8:37 AM, Paul Tan wrote: > Since rebasing on top of multiple upstream branches does not make sense, > since commit 51b2ead0 ("disallow providing multiple upstream branches > to rebase, pull --rebase"), git-pull explicitly disallowed specifying > multiple branches in the rebase case. > > Implement tests to ensure that git-pull fails and prints out the > user-friendly error message in such a case. > > Signed-off-by: Paul Tan > --- > t/t5520-pull.sh | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/t/t5520-pull.sh b/t/t5520-pull.sh > index 25d519d..17c63ff 100755 > --- a/t/t5520-pull.sh > +++ b/t/t5520-pull.sh > @@ -223,6 +223,14 @@ test_expect_success '--rebase' ' > test $(git rev-parse HEAD^) = $(git rev-parse copy) && > test new = $(git show HEAD:file2) > ' > + > +test_expect_success '--rebase fails with multiple branches' ' > + git reset --hard before-rebase && > + test_must_fail git pull --rebase . copy master 2>out && > + test_when_finished "rm -f out" && I think it would make sense to switch the previous 2 lines, because the test_when_finished should also be run if the test actually fails. The actual tested part may segfault, which would interrupt the && chain from reaching the test_when_finished line. And here, the line to test is meant to be the "git pull --rebase" line, so we'd assume it may be stopping there due to failures in the tested program. If you grep through the code base, you'll find lots of test_when_finished commands as the very first command (or the earliest spot where it makes sense). > + test_i18ngrep "Cannot rebase onto multiple branches" out > +' > + > test_expect_success 'pull.rebase' ' > git reset --hard before-rebase && > test_config pull.rebase true && > -- > 2.1.4 >