From: Tay Ray Chuan Date: Tue, 05 Jan 2010 10:01:32 GMT Subject: Re: [PATCH v3 2/6] t5541-http-push.sh: add test for unmatched, non-fast-forwarded refs Message-ID: <20100105180132.e573fff2.rctay89@gmail.com> In-Reply-To: <20100105063546.GB19368@coredump.intra.peff.net> Hi, On Tue, Jan 5, 2010 at 2:35 PM, Jeff King wrote: > On Thu, Dec 24, 2009 at 03:41:58PM +0800, Tay Ray Chuan wrote: > >> Test that when non-fast-forwarded refs cannot be matched without an >> explicit refspect, the push fails with a non-fast-forward ref status and >> help message. > > I don't understand what you're testing here. If it's not matched, then > how is it a non-fast-forward? Isn't it simply unmatched? Let me rephrase this as: Some refs can only be matched to a remote ref with an explicit refspec. When such a ref is a non-fast-forward of its remote ref, test that pushing them (with the explicit refspec specified) fails with a non-fast-foward-type error. > Your test: > >> +test_expect_failure 'push fails for non-fast-forward refs unmatched by remote helper' ' >> +     # create a dissimilarly-named ref so that git is unable to match the refs >> +     git push origin master:retsam >> + >> +     echo "change changed" > path2 && >> +     git commit -a -m path2 --amend && >> + >> +     # push master too. This ensures there is at least one '"'push'"' command to >> +     # the remote helper and triggers interaction with the helper. >> +     !(git push -v origin +master master:retsam >output 2>&1) && >> + >> +     grep "^ + [a-z0-9]\+\.\.\.[a-z0-9]\+[ ]*master -> master (forced update)$" output && >> +     grep "^ ! \[rejected\][ ]*master -> retsam (non-fast-forward)$" output && > > Looks like you're just testing the usual "master -> retsam is not a > fast-forward" case. I don't understand how this is different from the > previous tests. Can you elaborate? The problem in question is that a non-fast-forward error is not being reported, and this test sets up a situation to trigger this - it's not meant to be just another non-fast-forward test. -- Cheers, Ray Chuan