From: Jim Meyering Date: Tue, 05 Aug 2008 15:44:03 GMT Subject: Re: [PATCH] git-cvsimport.perl: Print "UNKNOWN LINE..." on stderr, not stdout. Message-ID: <87tzdzo4ak.fsf@rho.meyering.net> In-Reply-To: <20080805152836.GB21901@sigill.intra.peff.net> Jeff King wrote: > On Tue, Aug 05, 2008 at 04:54:42PM +0200, Jim Meyering wrote: > >> I'm used to filtering git-cvsimport's noisy stderr, but this >> diagnostic appears on stdout. Looks like an oversight. >> Now that I'm using cvsps-2.2b1, I see tons of these. > > There are a ton of things that go to stdout: > > $ perl -ne '/print (\S+)/ && print "$1\n" git-cvsimport.perl | > grep '^#' | wc -l > 18 > > though many are only activated via "-v". Maybe it is worth putting all > of them to stderr? I really don't see why cvsimport should ever produce > any output on stdout. A quick scan (post-patch) $ grep 'print ' git-cvsimport.perl|grep -vE 'STDERR|opt_v' print $f "$_=$conv_author_name{$_} <$conv_author_email{$_}>\n"; print $fh $line; print $fh $buf; print $cvspsfh $_; print $fh print "SKIPPING $fn v $rev\n"; suggests that if you don't count the "SKIPPING..." diagnostic you'd get for each "-S REGEXP"-skipped name, the "UNKNOWN LINE" diagnostic is the only one that goes to stdout but that is not protected by an $opt_v guard.