From: Michael Vogt Date: Thu, 23 Jan 2014 06:52:23 +0000 (+0100) Subject: Show only the candidate with "apt show" X-Git-Tag: 0.9.14.3.exp5~4^2~4 X-Git-Url: https://git.saurik.com/apt.git/commitdiff_plain/06293aa79b46efdec96910b2f678ce1cbdecc86d?ds=inline Show only the candidate with "apt show" Display only the candidate version with "apt show pkg" but show a notice that there is more to see. --- diff --git a/apt-private/private-cmndline.cc b/apt-private/private-cmndline.cc index cbb40d42e..2b6c710d6 100644 --- a/apt-private/private-cmndline.cc +++ b/apt-private/private-cmndline.cc @@ -235,6 +235,10 @@ bool addArgumentsAPT(std::vector &Args, char const * const Cm // FIXME: find a better term addArg(0,"dist","APT::Cmd::Dist-Upgrade", CommandLine::Boolean); } + else if (CmdMatches("show")) + { + addArg('a', "all-versions", "APT::Cache::AllVersions", 0); + } else if (addArgumentsAPTGet(Args, Cmd) || addArgumentsAPTCache(Args, Cmd)) { // we have no (supported) command-name overlaps so far, so we call diff --git a/apt-private/private-show.cc b/apt-private/private-show.cc index 32a49cc5c..9a8386167 100644 --- a/apt-private/private-show.cc +++ b/apt-private/private-show.cc @@ -104,12 +104,20 @@ bool ShowPackage(CommandLine &CmdL) /*{{{*/ { pkgCacheFile CacheFile; CacheSetHelperVirtuals helper(true, GlobalError::NOTICE); - APT::VersionList::Version const select = APT::VersionList::CANDIDATE; + APT::VersionList::Version const select = _config->FindB("APT::Cache::AllVersions", false) ? + APT::VersionList::ALL : APT::VersionList::CANDIDATE; APT::VersionList const verset = APT::VersionList::FromCommandLine(CacheFile, CmdL.FileList + 1, select, helper); for (APT::VersionList::const_iterator Ver = verset.begin(); Ver != verset.end(); ++Ver) if (DisplayRecord(CacheFile, Ver, c1out) == false) return false; + if (select == APT::VersionList::CANDIDATE) + { + APT::VersionList const verset_all = APT::VersionList::FromCommandLine(CacheFile, CmdL.FileList + 1, APT::VersionList::ALL, helper); + if (verset_all.size() > verset.size()) + _error->Notice(ngettext("There is %lu additional record. Please use the '-a' switch to see it", "There are %lu additional records. Please use the '-a' switch to see them.", verset_all.size() - verset.size()), verset_all.size() - verset.size()); + } + for (APT::PackageSet::const_iterator Pkg = helper.virtualPkgs.begin(); Pkg != helper.virtualPkgs.end(); ++Pkg) {