From: Tay Ray Chuan Date: Tue, 26 Jan 2010 01:33:24 GMT Subject: Re: [PATCH] t5541-http-push: make grep expression check for one line only Message-ID: In-Reply-To: <7v1vhe3wdz.fsf@alter.siamese.dyndns.org> Hi, On Tue, Jan 26, 2010 at 1:52 AM, Junio C Hamano wrote: > Junio C Hamano writes: > >> Tay Ray Chuan writes: >> >>> Simplify the grep expressions in the non-fast-forward tests to check >>> only for the first line of the non-fast-forward warning - having that >>> line should be enough assurance that the full warning is printed. >>> >>> In the first place, grep can't deal with expressions for multiple >>> lines. >> >> This shows that nobody has ever run this test since January 8th, not even >> the original author? >> >> Hmmm. > > Actually, if you grep with a pattern with multiple lines, it is equivalent > to giving each of these lines as a separate pattern from the command line. > So it is understandable that the tests passed.  They were checking if > these match, but it doesn't check (and grep is not designed to) if the > first pattern matched the first line, the second to second, etc. that was why the tests passed then and passed now - I just happened to run them, and I noticed grep reported success, yet only matched 2 of the 3 lines. Then I remembered recently there had been a rewording of the fast-forward warning was reworded (c0eb604 "push: spell 'Note about fast-forwards'")... > So I'd say something like... > >    Don't feed multiple-line pattern to grep and expect them to match with >    lines in order. > >    Simplify the grep expressions in the non-fast-forward tests to check >    only for the first line of the non-fast-forward warning - having that >    line should be enough assurance that the full warning is printed. > >    Signed-off-by: Tay Ray Chuan > > instead. No problem. -- Cheers, Ray Chuan