Browse Source

use VersionSet in download to handle repeats

Closes: 738103
tags/debian/0.9.15.2
David Kalnischkies 7 years ago
parent
commit
e209542632
2 changed files with 12 additions and 7 deletions
  1. +3
    -3
      cmdline/apt-get.cc
  2. +9
    -4
      test/integration/test-apt-get-download

+ 3
- 3
cmdline/apt-get.cc View File

@@ -630,8 +630,8 @@ bool DoDownload(CommandLine &CmdL)
return false;

APT::CacheSetHelper helper(c0out);
APT::VersionList verset = APT::VersionList::FromCommandLine(Cache,
CmdL.FileList + 1, APT::VersionList::CANDIDATE, helper);
APT::VersionSet verset = APT::VersionSet::FromCommandLine(Cache,
CmdL.FileList + 1, APT::VersionSet::CANDIDATE, helper);

if (verset.empty() == true)
return false;
@@ -650,7 +650,7 @@ bool DoDownload(CommandLine &CmdL)
std::string const cwd = SafeGetCWD();
_config->Set("Dir::Cache::Archives", cwd);
int i = 0;
for (APT::VersionList::const_iterator Ver = verset.begin();
for (APT::VersionSet::const_iterator Ver = verset.begin();
Ver != verset.end(); ++Ver, ++i)
{
pkgAcquire::Item *I = new pkgAcqArchive(&Fetcher, SrcList, &Recs, *Ver, storefile[i]);


+ 9
- 4
test/integration/test-apt-get-download View File

@@ -34,8 +34,13 @@ testequal "'file://${DEBFILE}' apt_2.0_all.deb $(stat -c%s $DEBFILE) SHA512:$(sh
# deb:677887
testequal "E: Can't find a source to download version '1.0' of 'vrms:i386'" aptget download vrms

# deb:736962 - apt-get download foo &&
aptget download apt
aptget download apt
# deb:736962
testsuccess aptget download apt
testsuccess aptget download apt
testsuccess test -s apt_2.0_all.deb

rm -f apt_1.0_all.deb apt_2.0_all.deb

# deb:738103
testsuccess aptget download apt apt apt/unstable apt=2.0
testsuccess test -s apt_2.0_all.deb
rm -f apt_1.0_all.deb

Loading…
Cancel
Save