diff options
-rwxr-xr-x | dgit | 32 |
1 files changed, 19 insertions, 13 deletions
@@ -2507,19 +2507,8 @@ sub ensure_we_have_orig () { } } -sub git_fetch_us () { - # Want to fetch only what we are going to use, unless - # deliberately-not-ff, in which case we must fetch everything. - - my @specs = deliberately_not_fast_forward ? qw(tags/*) : - map { "tags/$_" } - (quiltmode_splitbrain - ? (map { $_->('*',access_nomdistro) } - \&debiantag_new, \&debiantag_maintview) - : debiantags('*',access_nomdistro)); - push @specs, server_branch($csuite); - push @specs, $rewritemap; - push @specs, qw(heads/*) if deliberately_not_fast_forward; +sub git_lrfetch_sane { + my (@specs) = @_; # This is rather miserable: # When git fetch --prune is passed a fetchspec ending with a *, @@ -2650,6 +2639,23 @@ END } printdebug "git_fetch_us: git fetch --no-insane emulation complete\n", Dumper(\%lrfetchrefs_f); +} + +sub git_fetch_us () { + # Want to fetch only what we are going to use, unless + # deliberately-not-ff, in which case we must fetch everything. + + my @specs = deliberately_not_fast_forward ? qw(tags/*) : + map { "tags/$_" } + (quiltmode_splitbrain + ? (map { $_->('*',access_nomdistro) } + \&debiantag_new, \&debiantag_maintview) + : debiantags('*',access_nomdistro)); + push @specs, server_branch($csuite); + push @specs, $rewritemap; + push @specs, qw(heads/*) if deliberately_not_fast_forward; + + git_lrfetch_sane @specs; my %here; my @tagpats = debiantags('*',access_nomdistro); |