X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=blobdiff_plain;f=dgit;h=17b71898eb658660acd65dfbae24e68001cd0e07;hp=4b218a3b2c8d46870a8691444f03c90b8610e554;hb=1a097c19176b1f91ea253532e8329cf79d217168;hpb=4fd22956f74ec637545137e7fa25b5dbf03585c0 diff --git a/dgit b/dgit index 4b218a3b..17b71898 100755 --- a/dgit +++ b/dgit @@ -465,12 +465,14 @@ our %defcfg = ('dgit.default.distro' => 'debian', '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.sshpsql-host' => 'coccia.debian.org', + 'dgit-distro.debian.sshpsql-host' => 'mirror.ftp-master.debian.org', 'dgit-distro.debian.sshpsql-dbname' => 'service=projectb', 'dgit-distro.debian.upload-host' => 'ftp-master', # for dput 'dgit-distro.debian.mirror' => 'http://ftp.debian.org/debian/', 'dgit-distro.debian.backports-quirk' => '(squeeze)-backports*', 'dgit-distro.debian-backports.mirror' => 'http://backports.debian.org/debian-backports/', + 'dgit-distro.ubuntu.git-check' => 'false', + 'dgit-distro.ubuntu.mirror' => 'http://archive.ubuntu.com/ubuntu', 'dgit-distro.test-dummy.ssh' => "$td/ssh", 'dgit-distro.test-dummy.username' => "alice", 'dgit-distro.test-dummy.git-check' => "ssh-cmd", @@ -500,12 +502,19 @@ sub cfg { my $dv = $defcfg{$c}; return $dv if defined $dv; } - badcfg "need value for one of: @_"; + badcfg "need value for one of: @_\n". + "$us: distro or suite appears not to be (properly) supported"; } sub access_basedistro () { - return cfg("dgit-suite.$isuite.distro", - "dgit.default.distro"); + if (defined $idistro) { + return cfg("dgit-distro.basedistro.distro", + "dgit-suite.$isuite.distro", + 'RETURN-UNDEF') // $idistro; + } else { + return cfg("dgit-suite.$isuite.distro", + "dgit.default.distro"); + } } sub access_quirk () { @@ -858,6 +867,8 @@ sub check_for_git () { return $r+0; } elsif ($how eq 'true') { return 1; + } elsif ($how eq 'false') { + return 0; } else { badcfg "unknown git-check \`$how'"; } @@ -1362,6 +1373,8 @@ sub dopush () { printdebug "actually entering push\n"; prep_ud(); + access_giturl(); # check that success is vaguely likely + my $clogpfn = ".git/dgit/changelog.822.tmp"; runcmd shell_cmd "exec >$clogpfn", qw(dpkg-parsechangelog); @@ -1391,13 +1404,17 @@ sub dopush () { $dscpath =~ m#^/# ? $dscpath : "../../../$dscpath"; my ($tree,$dir) = mktree_in_ud_from_only_subdir(); changedir '../../../..'; - my @diffcmd = (@git, qw(diff --exit-code), $tree); + my $diffopt = $debug>0 ? '--exit-code' : '--quiet'; + my @diffcmd = (@git, qw(diff), $diffopt, $tree); printcmd \*DEBUG,$debugprefix."+",@diffcmd; $!=0; $?=0; - if (system @diffcmd) { - if ($! && $?==256) { + my $r = system @diffcmd; + if ($r) { + if ($r==256) { fail "$dscfn specifies a different tree to your HEAD commit;". - " perhaps you forgot to build"; + " perhaps you forgot to build". + ($diffopt eq '--exit-code' ? "" : + " (run with -D to see full diff output)"); } else { failedcmd @diffcmd; }