our $playprefix = 'debrebase';
our $rd;
+our $workarea;
our @git = qw(git);
sub in_workarea ($) {
my ($sub) = @_;
- changedir "$playground/work";
+ changedir $workarea;
my $r = eval { $sub->(); };
changedir $maindir;
}
sub fresh_workarea () {
- do {
- local $playground;
- fresh_playground "$playprefix/work";
- };
+ $workarea = fresh_playground "$playprefix/work";
in_workarea sub { playtree_setup };
}
# debian/) so debian breakwater branch should be 1st parent; that
# way also there's also an easy rune to look for the upstream
# patches (--topo-order).
+
+ my $prevbrw = 0;
+
if (@p == 2 &&
!$haspatches &&
- !$p[0]{IsOrigin} && # breakwater merge never starts with an origin
- !($p[0]{Differs} & ~D_DEB) &&
- !($p[1]{Differs} & ~D_UPS)) {
+ !$p[$prevbrw]{IsOrigin} && # breakwater never starts with an origin
+ !($p[$prevbrw]{Differs} & ~D_DEB) &&
+ !($p[!$prevbrw]{Differs} & ~D_UPS)) {
return $classify->(qw(BreakwaterUpstreamMerge),
- OrigParents => [ $p[1] ]);
+ OrigParents => [ $p[!$prevbrw] ]);
}
# xxx multi-.orig upstreams
my $toplevel = cmdoutput @git, qw(rev-parse --show-toplevel);
chdir $toplevel or die "chdir $toplevel: $!";
-fresh_playground $playprefix;
-$rd = ensure_a_playground "playprefix/misc";
+$rd = fresh_playground "$playprefix/misc";
my $cmd = shift @ARGV;
my $cmdfn = $cmd;