]> git.saurik.com Git - apt.git/commitdiff
Show only the candidate with "apt show"
authorMichael Vogt <mvo@debian.org>
Thu, 23 Jan 2014 06:52:23 +0000 (07:52 +0100)
committerMichael Vogt <mvo@debian.org>
Thu, 23 Jan 2014 06:57:52 +0000 (07:57 +0100)
Display only the candidate version with "apt show pkg" but show
a notice that there is more to see.

apt-private/private-cmndline.cc
apt-private/private-show.cc

index cbb40d42e7281d48111e4fc0d7ec440868e38a4b..2b6c710d6c4c85f909a5671c7b881cf0a12e08a0 100644 (file)
@@ -235,6 +235,10 @@ bool addArgumentsAPT(std::vector<CommandLine::Args> &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
index 32a49cc5c54cb4967fa9932b25b2e07158db948f..9a838616752c1727949b0a1ee0c32d3619fd2b38 100644 (file)
@@ -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)
    {