From: Ian Jackson Date: Thu, 22 Aug 2013 12:21:31 +0000 (+0100) Subject: Ordering improvement in push: don't add dsc field until git push done. X-Git-Tag: debian/0.4_pre1~12 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=commitdiff_plain;h=648c039155014bc10acdae59e0dad5aacd000967 Ordering improvement in push: don't add dsc field until git push done. --- diff --git a/debian/changelog b/debian/changelog index dc9e5ab2..af327bef 100644 --- a/debian/changelog +++ b/debian/changelog @@ -7,6 +7,7 @@ dgit (0.4) experimental; urgency=low * Much better error messages. * Better error checking when parsing RFC822-style control data. * Better checking that the supplied .dsc and debian/changes correspond. + * Ordering improvement in push: don't add dsc field until git push done. -- diff --git a/dgit b/dgit index fcc792d6..7f13eecd 100755 --- a/dgit +++ b/dgit @@ -761,11 +761,6 @@ sub dopush () { # (uploadbranch()); $dsc->{$ourdscfield} = rev_parse('HEAD'); $dsc->save("../$dscfn.tmp") or die $!; - if (!$dryrun) { - rename "../$dscfn.tmp","../$dscfn" or die "$dscfn $!"; - } else { - print "[new .dsc left in $dscfn.tmp]\n"; - } if (!$changesfile) { my $pat = "${package}_c$version_*.changes"; my @cs = glob "../$pat"; @@ -779,6 +774,11 @@ sub dopush () { create_remote_git_repo(); } runcmd_ordryrun @git, qw(push),access_giturl(),"HEAD:".rrref(); + if (!$dryrun) { + rename "../$dscfn.tmp","../$dscfn" or die "$dscfn $!"; + } else { + print "[new .dsc left in $dscfn.tmp]\n"; + } if ($sign) { my @tag_cmd = (@git, qw(tag -s -m), "Release $dversion for $csuite [dgit]");