/Documentation/BK-usage/cset-to-linus
https://bitbucket.org/evzijst/gittest · Perl · 49 lines · 35 code · 13 blank · 1 comment · 8 complexity · e4a547d06d179cba26da960f437502ae MD5 · raw file
- #!/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 = ();
- }