diff options
-rw-r--r-- | debian/changelog | 4 | ||||
-rwxr-xr-x | dgit | 8 |
2 files changed, 9 insertions, 3 deletions
diff --git a/debian/changelog b/debian/changelog index a57cd2f..79fcea0 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,10 +1,12 @@ dgit (0.8) unstable; urgency=low + * Fix comparison of archive's .dsc's hash and git branch head + to DTRT. * When creating repos in dgit-repos (using the ssh-cmd method), copy _template rather than using mkdir and git init. Closes: #720522. - -- Ian Jackson <ijackson@chiark.greenend.org.uk> Fri, 23 Aug 2013 12:03:25 +0100 + -- dgit (0.7) unstable; urgency=low @@ -659,11 +659,12 @@ sub fetch_from_archive () { if (defined $dsc_hash) { fail "missing git history even though dsc has hash -". " could not find commit $dsc_hash". - " (should be in ".access_giturl()."#".rref().")" + " (should be in ".access_giturl()."#".rrref().")" unless $upload_hash; $hash = $dsc_hash; ensure_we_have_orig(); - if (is_fast_fwd($dsc_hash,$upload_hash)) { + if ($dsc_hash eq $upload_hash) { + } elsif (is_fast_fwd($dsc_hash,$upload_hash)) { print STDERR <<END or die $!; Git commit in archive is behind the last version allegedly pushed/uploaded. @@ -672,6 +673,9 @@ Last allegedly pushed/uploaded: $upload_hash $later_warning_msg END $hash = $upload_hash; + } else { + fail "archive's .dsc refers to ".$dsc_hash. + " but this is an ancestor of ".$upload_hash; } } else { $hash = generate_commit_from_dsc(); |