diff options
author | David Kalnischkies <david@kalnischkies.de> | 2014-02-10 18:06:28 +0100 |
---|---|---|
committer | David Kalnischkies <david@kalnischkies.de> | 2014-02-10 18:10:53 +0100 |
commit | e209542632e61b9bf07b809c333f1e4b9de7fde9 (patch) | |
tree | c466a77c5e6aa604285242947260984374eebdff | |
parent | 34d6ece7566ea4fcda2286478b31641378aefc93 (diff) |
use VersionSet in download to handle repeats
Closes: 738103
-rw-r--r-- | cmdline/apt-get.cc | 6 | ||||
-rwxr-xr-x | test/integration/test-apt-get-download | 13 |
2 files changed, 12 insertions, 7 deletions
diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc index 6bff6e7de..2a9964722 100644 --- a/cmdline/apt-get.cc +++ b/cmdline/apt-get.cc @@ -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]); diff --git a/test/integration/test-apt-get-download b/test/integration/test-apt-get-download index c2a5c3d8e..ec809e0ce 100755 --- a/test/integration/test-apt-get-download +++ b/test/integration/test-apt-get-download @@ -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 |