aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/BK-usage/csets-to-patches
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/BK-usage/csets-to-patches')
-rwxr-xr-xDocumentation/BK-usage/csets-to-patches44
1 files changed, 44 insertions, 0 deletions
diff --git a/Documentation/BK-usage/csets-to-patches b/Documentation/BK-usage/csets-to-patches
new file mode 100755
index 000000000000..e2b81c35883f
--- /dev/null
+++ b/Documentation/BK-usage/csets-to-patches
@@ -0,0 +1,44 @@
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 system("bk export -tpatch -du -r $rev > /tmp/rev-$rev.patch");
34
35 if (! $empty_cset) {
36 print @cset_text;
37 print @pipe_text;
38 print "\n\n";
39 }
40
41 @pipe_text = ();
42 @cset_text = ();
43}
44