[BACK]Return to cset-to-linus CVS log [TXT][DIR] Up to [Development] / linux-2.4-xfs / Documentation / BK-usage

File: [Development] / linux-2.4-xfs / Documentation / BK-usage / cset-to-linus (download)

Revision 1.1, Wed Dec 31 00:54:49 2003 UTC (13 years, 9 months ago) by cattelan
Branch: MAIN
CVS Tags: HEAD

Initial Import 2.4.24pre2

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