diff --git a/libmamba/src/api/list.cpp b/libmamba/src/api/list.cpp index 35eefd9fc4..303b271d40 100644 --- a/libmamba/src/api/list.cpp +++ b/libmamba/src/api/list.cpp @@ -216,7 +216,42 @@ namespace mamba std::sort(packages.begin(), packages.end(), comparator); // format and print output - if (options.explicit_) + if (options.revisions) + { + if (options.explicit_) + { + LOG_WARNING + << "Option --explicit ignored because --revisions was also provided."; + } + if (options.canonical) + { + LOG_WARNING + << "Option --canonical ignored because --revisions was also provided."; + } + if (options.export_) + { + LOG_WARNING + << "Option --export ignored because --revisions was also provided."; + } + auto user_requests = prefix_data.history().get_user_requests(); + for (auto r : user_requests) + { + if ((r.link_dists.size() > 0) || (r.unlink_dists.size() > 0)) + { + std::cout << r.date << " (rev " << r.revision_num << ")" << std::endl; + for (auto ud : r.unlink_dists) + { + std::cout << "-" << ud << std::endl; + } + for (auto ld : r.link_dists) + { + std::cout << "+" << ld << std::endl; + } + std::cout << std::endl; + } + } + } + else if (options.explicit_) { if (options.canonical) { @@ -260,26 +295,6 @@ namespace mamba std::cout << p.name << "=" << p.version << "=" << p.build_string << std::endl; } } - else if (options.revisions) - { - auto user_requests = prefix_data.history().get_user_requests(); - for (auto r : user_requests) - { - if ((r.link_dists.size() > 0) || (r.unlink_dists.size() > 0)) - { - std::cout << r.date << " (rev " << r.revision_num << ")" << std::endl; - for (auto ld : r.link_dists) - { - std::cout << "+ " << ld << std::endl; - } - for (auto ud : r.unlink_dists) - { - std::cout << "- " << ud << std::endl; - } - std::cout << std::endl; - } - } - } else { auto requested_specs = prefix_data.history().get_requested_specs_map(); diff --git a/libmamba/src/core/history.cpp b/libmamba/src/core/history.cpp index 90fa0397fa..cf9d6d8ee6 100644 --- a/libmamba/src/core/history.cpp +++ b/libmamba/src/core/history.cpp @@ -203,7 +203,7 @@ namespace mamba std::vector History::get_user_requests() { std::vector res; - int i = 0; + int revision_num = 0; for (const auto& el : parse()) { UserRequest r; @@ -226,8 +226,7 @@ namespace mamba } if ((r.link_dists.size() > 0) || (r.unlink_dists.size() > 0)) { - r.revision_num = i; - i += 1; + r.revision_num = revision_num++; } res.push_back(r); } diff --git a/micromamba/src/list.cpp b/micromamba/src/list.cpp index 6d11cbef39..80f8eeb6e1 100644 --- a/micromamba/src/list.cpp +++ b/micromamba/src/list.cpp @@ -41,7 +41,7 @@ init_list_parser(CLI::App* subcom, Configuration& config) auto& explicit_ = config.insert(Configurable("explicit", false) .group("cli") - .description("List explicitly all installed packages with URL." + .description("List explicitly all installed packages with URL. Ignored if --revisions is also provided." )); subcom->add_flag("--explicit", explicit_.get_cli_config(), explicit_.description()); @@ -53,7 +53,7 @@ init_list_parser(CLI::App* subcom, Configuration& config) auto& canonical = config.insert( Configurable("canonical", false) .group("cli") - .description("Output canonical names of packages only. Ignored if --explicit is also provided." + .description("Output canonical names of packages only. Ignored if --revisions or --explicit is also provided." ) ); subcom->add_flag("-c,--canonical", canonical.get_cli_config(), canonical.description()); @@ -62,7 +62,7 @@ init_list_parser(CLI::App* subcom, Configuration& config) Configurable("export", false) .group("cli") .description( - "Output explicit, machine-readable requirement strings instead of human-readable lists of packages. Ignored if --explicit or --canonical is also provided." + "Output explicit, machine-readable requirement strings instead of human-readable lists of packages. Ignored if --revisions, --explicit or --canonical is also provided." ) ); subcom->add_flag("-e,--export", export_.get_cli_config(), export_.description());