| #!/usr/bin/perl -w | |
| use strict; | |
| my ($lhs, $rev, $tmp, $rhs, $s); | |
| my @cset_text = (); | |
| my @pipe_text = (); | |
| my $have_cset = 0; | |
| while (<>) { | |
| next if /^---/; | |
| if (($lhs, $tmp, $rhs) = (/^(ChangeSet\@)([^,]+)(, .*)$/)) { | |
| &cset_rev if ($have_cset); | |
| $rev = $tmp; | |
| $have_cset = 1; | |
| push(@cset_text, $_); | |
| } | |
| elsif ($have_cset) { | |
| push(@cset_text, $_); | |
| } | |
| } | |
| &cset_rev if ($have_cset); | |
| exit(0); | |
| sub cset_rev { | |
| my $empty_cset = 0; | |
| open PIPE, "bk export -tpatch -hdu -r $rev | diffstat -p1 2>/dev/null |" or die; | |
| while ($s = <PIPE>) { | |
| $empty_cset = 1 if ($s =~ /0 files changed/); | |
| push(@pipe_text, $s); | |
| } | |
| close(PIPE); | |
| if (! $empty_cset) { | |
| print @cset_text; | |
| print @pipe_text; | |
| print "\n\n"; | |
| } | |
| @pipe_text = (); | |
| @cset_text = (); | |
| } | |