diff options
author | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2013-08-22 16:02:24 +0100 |
---|---|---|
committer | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2013-08-22 16:02:24 +0100 |
commit | 1bc2f3fe71efe5038e1d7e63ce04442aaaa3c501 (patch) | |
tree | b1c7c7358747e2a9ad64e83cb40d6c28b3e66248 | |
parent | b9c9a1f4bc7a38ea789a3e5ae7c8a8b80d74689a (diff) |
Allow fetching when archive has out-of-date git hash in .dsc. Closes: #720490.debian/0.6
-rw-r--r-- | debian/changelog | 7 | ||||
-rwxr-xr-x | dgit | 17 |
2 files changed, 23 insertions, 1 deletions
diff --git a/debian/changelog b/debian/changelog index 990d99a..449aa61 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +dgit (0.6) unstable; urgency=low + + * Allow fetching when archive has out-of-date git hash in .dsc. + Closes: #720490. + + -- Ian Jackson <ijackson@chiark.greenend.org.uk> Thu, 22 Aug 2013 16:02:10 +0100 + dgit (0.5) unstable; urgency=low * Upload to unstable, as this version mostly works. (All the RC @@ -200,6 +200,10 @@ important dgit options: -c<name>=<value> set git config option (used directly by dgit too) END +our $later_warning_msg = <<END; +Perhaps the upload is stuck in incoming. Using the version from git. +END + sub badusage { print STDERR "$us: @_\n", $helpmsg or die $!; exit 8; @@ -565,9 +569,10 @@ END $outputhash = make_commit qw(../commit2.tmp); } elsif ($vcmp > 0) { print STDERR <<END or die $!; + Version actually in archive: $cversion (older) Last allegedly pushed/uploaded: $oversion (newer or same) -Perhaps the upload is stuck in incoming. Using the version from git. +$later_warning_msg END $outputhash = $upload_hash; } elsif ($outputhash ne $upload_hash) { @@ -651,6 +656,16 @@ sub fetch_from_archive () { unless $upload_hash; $hash = $dsc_hash; ensure_we_have_orig(); + if (is_fast_fwd($dsc_hash,$upload_hash)) { + print STDERR <<END or die $!; + +Git commit in archive is behind the last version allegedly pushed/uploaded. +Commit referred to by archive: $dsc_hash +Last allegedly pushed/uploaded: $upload_hash +$later_warning_msg +END + $hash = $upload_hash; + } } else { $hash = generate_commit_from_dsc(); } |