chiark / gitweb /
dgit: git_lrfetch_sane: Take $url, and pass it right value in import
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 18 Jan 2017 21:32:33 +0000 (21:32 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 18 Jan 2017 21:32:36 +0000 (21:32 +0000)
This means we actually use the url from a Dgit .dsc field naming an
unknown distro.  Closes:#851728.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
debian/changelog
dgit

index d334b39..ce2b0b7 100644 (file)
@@ -1,5 +1,9 @@
 dgit (3.6~) unstable; urgency=medium
 
+  Bugfixes:
+  * Actually use the url from a Dgit .dsc field naming an unknown distro.
+    Closes:#851728.
+
   Minor improvements:
   * Use `confess' to print a stack trace in a couple of internal error
     rcases.
diff --git a/dgit b/dgit
index 4f85e5c..b7888af 100755 (executable)
--- a/dgit
+++ b/dgit
@@ -2572,7 +2572,7 @@ sub lrfetchref_used ($) {
 }
 
 sub git_lrfetch_sane {
-    my ($supplementary, @specs) = @_;
+    my ($url, $supplementary, @specs) = @_;
     # Make a 'refs/'.lrfetchrefs.'/*' be just like on server,
     # at least as regards @specs.  Also leave the results in
     # %lrfetchrefs_f, and arrange for lrfetchref_used to be
@@ -2603,8 +2603,6 @@ sub git_lrfetch_sane {
     # git fetch to try to generate it.  If we don't manage to generate
     # the target state, we try again.
 
-    my $url = access_giturl();
-
     printdebug "git_lrfetch_sane suppl=$supplementary specs @specs\n";
 
     my $specre = join '|', map {
@@ -2744,7 +2742,8 @@ sub git_fetch_us () {
     push @specs, $rewritemap;
     push @specs, qw(heads/*) if deliberately_not_fast_forward;
 
-    git_lrfetch_sane 0, @specs;
+    my $url = access_giturl();
+    git_lrfetch_sane $url, 0, @specs;
 
     my %here;
     my @tagpats = debiantags('*',access_nomdistro);
@@ -2873,13 +2872,13 @@ END
                or fail <<END;
 .dsc Dgit metadata is in context of distro $dsc_distro
 for which we have no configured url;
-.dsc provices hinted url with protocol $proto which is unsafe.
+.dsc provides hinted url with protocol $proto which is unsafe.
 (can be overridden by config - consult documentation)
 END
            $url = $dsc_hint_url;
        }
 
-       git_lrfetch_sane 1, @fetch;
+       git_lrfetch_sane $url, 1, @fetch;
 
        return $lrf;
     };