summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2013-08-17 16:55:48 +0100
committerIan Jackson <ijackson@chiark.greenend.org.uk>2013-08-17 16:55:48 +0100
commit802c7301eadda1f7664c0efe3193050e5a70cc2d (patch)
tree3917974cbd0414de435193cfea4582a2bb5159c1
parent02768452a74006a6c588a5a10ca7881b70f4c984 (diff)
deal with daft 3.0 quilt thing
-rwxr-xr-xdgit24
1 files changed, 23 insertions, 1 deletions
diff --git a/dgit b/dgit
index fc310d5..6d7e574 100755
--- a/dgit
+++ b/dgit
@@ -563,8 +563,26 @@ sub check_not_dirty () {
}
}
+sub commit_quilty_patch () {
+ my $output = cmdoutput @git, qw(status --porcelain);
+ my $vsn = $dsc->{Version};
+ my %fixups = map {$_=>1}
+ (".pc/debian-changes-$vsn/","debian/patches/debian-changes-2.8-5");
+ my @files;
+ foreach my $l (split /\n/, $output) {
+ next unless $l =~ s/^\?\? //;
+ next unless $fixups{$l};
+ push @files, $l;
+ }
+ print DEBUG "checking for quilty\n", Dumper(\@files);
+ if (@files == 2) {
+ runcmd_ordryrun @git, qw(add), @files;
+ runcmd_ordryrun
+ @git, qw(commit -m), "Commit Debian 3.0 (quilt) metadata";
+ }
+}
+
sub dopush () {
- runcmd @git, qw(diff --quiet HEAD);
print DEBUG "actually entering push\n";
runcmd qw(debian/rules clean);
my $clogp = parsechangelog();
@@ -572,6 +590,10 @@ sub dopush () {
my $dscfn = "${package}_$clogp->{Version}.dsc";
stat "../$dscfn" or die "$dscfn $!";
$dsc = parsecontrol("../$dscfn");
+ print DEBUG "format $dsc->{Format}\n";
+ if ($dsc->{Format} eq '3.0 (quilt)') {
+ commit_quilty_patch();
+ }
check_not_dirty();
prep_ud();
chdir $ud or die $!;