fetch();
runcmd_ordryrun @git, qw(merge -m),"Merge from $suite [dgit]",
lrref();
- print "dgit ok: fetched to ".lrref()." and merged into HEAD\n";
+ printdone "fetched to ".lrref()." and merged into HEAD";
+}
+
+sub check_not_dirty () {
+ my $output = cmdoutput @git, qw(status --porcelain);
+ if (length $output) {
+ my $m = "tree dirty:\n$output\n";
+ if (!$dryrun) {
+ die $m;
+ } else {
+ warn $m;
+ }
+ }
}
sub dopush () {
runcmd @git, qw(diff --quiet HEAD);
+ print DEBUG "actually entering push\n";
+ runcmd qw(debian/rules clean);
my $clogp = parsechangelog();
$package = $clogp->{Source};
my $dscfn = "${package}_$clogp->{Version}.dsc";
stat "../$dscfn" or die "$dscfn $!";
$dsc = parsecontrol("../$dscfn");
+ check_not_dirty();
prep_ud();
chdir $ud or die $!;
print "checking that $dscfn corresponds to HEAD\n";
sub cmd_push {
parseopts();
die if defined $package;
+ runcmd @git, qw(diff --quiet HEAD);
my $clogp = parsechangelog();
$package = $clogp->{Source};
if (@ARGV==0) {