1#!/usr/bin/perl -w
2
3use strict;
4
5my ($lhs, $rev, $tmp, $rhs, $s);
6my @cset_text = ();
7my @pipe_text = ();
8my $have_cset = 0;
9
10while (<>) {
11	next if /^---/;
12
13	if (($lhs, $tmp, $rhs) = (/^(ChangeSet\@)([^,]+)(, .*)$/)) {
14		&cset_rev if ($have_cset);
15
16		$rev = $tmp;
17		$have_cset = 1;
18
19		push(@cset_text, $_);
20	}
21
22	elsif ($have_cset) {
23		push(@cset_text, $_);
24	}
25}
26&cset_rev if ($have_cset);
27exit(0);
28
29
30sub cset_rev {
31	my $empty_cset = 0;
32
33	open PIPE, "bk export -tpatch -hdu -r $rev | diffstat -p1 2>/dev/null |" or die;
34	while ($s = <PIPE>) {
35		$empty_cset = 1 if ($s =~ /0 files changed/);
36		push(@pipe_text, $s);
37	}
38	close(PIPE);
39
40	if (! $empty_cset) {
41		print @cset_text;
42		print @pipe_text;
43		print "\n\n";
44	}
45
46	@pipe_text = ();
47	@cset_text = ();
48}
49
50