'dgit.default.ssh' => 'ssh',
'dgit-distro.debian.git-host' => 'git.debian.org',
'dgit-distro.debian.git-proto' => 'git+ssh://',
- 'dgit-distro.debian.git-path' => '/git/dgit-repos',
+ 'dgit-distro.debian.git-path' => '/git/dgit-repos/repos',
'dgit-distro.debian.git-check' => 'ssh-cmd',
'dgit-distro.debian.git-create' => 'ssh-cmd',
'dgit-distro.debian.sshdakls-host' => 'coccia.debian.org',
'dgit-distro.debian.sshdakls-dir' =>
'/srv/ftp-master.debian.org/ftp/dists',
- 'dgit-distro.debian.mirror' => 'http://http.debian.net/debian/');
+ 'dgit-distro.debian.mirror' => 'http://ftp.debian.org/debian/');
sub cfg {
foreach my $c (@_) {
}
sub canonicalise_suite () {
+ return if defined $csuite;
+ fail "cannot operate on $isuite suite" if $isuite eq 'UNRELEASED';
$csuite = archive_query('canonicalise_suite');
if ($isuite ne $csuite) {
# madison canonicalises for us
$later_warning_msg
END
$outputhash = $upload_hash;
- } elsif ($outputhash ne $upload_hash) {
- fail "version in archive ($cversion)".
- " is same as version in git".
- " to-be-uploaded (upload/) branch ($oversion)".
- " but archive version hash no commit hash?!";
- }
+ } else {
+ $outputhash = $upload_hash;
+ }
}
chdir '../../../..' or die $!;
runcmd @git, qw(update-ref -m),"dgit fetch import $cversion",
my $bad=0;
foreach my $l (split /\n/, $output) {
next unless $l =~ m/\S/;
- if ($l =~ m{^\?\? (.pc|debian/patches)}) {
+ if ($l =~ m{^(?:\?\?| M) (.pc|debian/patches)}) {
$adds{$1}++;
} else {
print STDERR "git status: $l\n";
sub cmd_push {
parseopts();
badusage "-p is not allowed with dgit push" if defined $package;
- runcmd @git, qw(diff --quiet HEAD);
+ check_not_dirty();
my $clogp = parsechangelog();
$package = getfield $clogp, 'Source';
if (@ARGV==0) {
chomp;
return unless madformat($_);
# sigh
+ my $clogp = parsechangelog();
+ my $version = getfield $clogp, 'Version';
+ my $author = getfield $clogp, 'Maintainer';
my $headref = rev_parse('HEAD');
my $time = time;
+ my $ncommits = 3;
my $patchname = "auto-$version-$headref-$time";
- my $author = cmdoutput @git, qw(log -n1), '--pretty=format:%an <%ae>';
- my $msg = cmdoutput @git, qw(log -n1), "--pretty=format:%s\n%b";
+ my $msg = cmdoutput @git, qw(log), "-n$ncommits";
my $descfn = ".git/dgit/quilt-description.tmp";
open O, '>', $descfn or die "$descfn: $!";
$msg =~ s/\n/\n /g;
$msg =~ s/^\s+$/ ./mg;
print O <<END or die $!;
-Description: $msg
- [generated from git commit $headref]
+Description: Automatically generated patch ($clogp->{Version})
+ Last (up to) $ncommits git changes, FYI:
+ .
+ $msg
Author: $author
---
local $ENV{$fakeeditorenv} = cmdoutput qw(realpath --), $descfn;
runcmd_ordryrun @dpkgsource, qw(--commit .), $patchname;
}
+
+ if (!open P, '>>', ".pc/applied-patches") {
+ $!==&ENOENT or die $!;
+ } else {
+ close P;
+ }
+
commit_quilty_patch();
}