#!/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 = ) { $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 = (); }