Re: [PATCH] git-cvsimport.perl: Print "UNKNOWN LINE..." on stderr, not stdout.
- From
Jim Meyering <jim@meyering.net>
- Date
- Aug 5, 2008, 15:44 UTC
- Message-ID
- <87tzdzo4ak.fsf@rho.meyering.net>
- In-Reply-To
- <20080805152836.GB21901@sigill.intra.peff.net>
Jeff King <peff@peff.net> wrote:
Show 15 quoted lines
> 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.