Bläddra i källkod

use VersionSet in download to handle repeats

Closes: 738103
David Kalnischkies 12 år sedan
förälder
incheckning
e209542632
2 ändrade filer med 12 tillägg och 7 borttagningar
  1. 3 3
      cmdline/apt-get.cc
  2. 9 4
      test/integration/test-apt-get-download

+ 3 - 3
cmdline/apt-get.cc

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

+ 9 - 4
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
 # deb:677887
 testequal "E: Can't find a source to download version '1.0' of 'vrms:i386'" aptget download vrms
 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
 testsuccess test -s apt_2.0_all.deb
-rm -f apt_1.0_all.deb