Hi, On Tue, Jan 5, 2010 at 2:35 PM, Jeff King <peff@xxxxxxxx> 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 -- 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