summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Kalnischkies <david@kalnischkies.de>2014-02-10 18:06:28 +0100
committerDavid Kalnischkies <david@kalnischkies.de>2014-02-10 18:10:53 +0100
commite209542632e61b9bf07b809c333f1e4b9de7fde9 (patch)
treec466a77c5e6aa604285242947260984374eebdff
parent34d6ece7566ea4fcda2286478b31641378aefc93 (diff)
use VersionSet in download to handle repeats
Closes: 738103
-rw-r--r--cmdline/apt-get.cc6
-rwxr-xr-xtest/integration/test-apt-get-download13
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