#!/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; system("bk export -tpatch -du -r $rev > /tmp/rev-$rev.patch"); if (! $empty_cset) { print @cset_text; print @pipe_text; print "\n\n"; } @pipe_text = (); @cset_text = (); }