aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/src/commands_portsdiff.cpp
diff options
context:
space:
mode:
authorAlexander Karatarakis <alkarata@microsoft.com>2017-03-29 18:14:48 -0700
committerAlexander Karatarakis <alkarata@microsoft.com>2017-03-31 18:01:13 -0700
commit8e30d0b420ea4883a27b514940ca54778f4f21aa (patch)
tree9b97b6e0df5a11bf648bb1427b454754bb6b138a /toolsrc/src/commands_portsdiff.cpp
parentaf0e652c484b9554bdce2457a73928682f505c24 (diff)
downloadvcpkg-8e30d0b420ea4883a27b514940ca54778f4f21aa.tar.gz
vcpkg-8e30d0b420ea4883a27b514940ca54778f4f21aa.zip
`update` needs to use package_spec
Diffstat (limited to 'toolsrc/src/commands_portsdiff.cpp')
-rw-r--r--toolsrc/src/commands_portsdiff.cpp21
1 files changed, 16 insertions, 5 deletions
diff --git a/toolsrc/src/commands_portsdiff.cpp b/toolsrc/src/commands_portsdiff.cpp
index 557f17bc2..d3c8b29e1 100644
--- a/toolsrc/src/commands_portsdiff.cpp
+++ b/toolsrc/src/commands_portsdiff.cpp
@@ -8,6 +8,17 @@
namespace vcpkg::Commands::PortsDiff
{
+ struct updated_port
+ {
+ static bool compare_by_name(const updated_port& left, const updated_port& right)
+ {
+ return left.port < right.port;
+ }
+
+ std::string port;
+ version_diff_t version_diff;
+ };
+
template <class T>
struct set_element_presence
{
@@ -27,11 +38,11 @@ namespace vcpkg::Commands::PortsDiff
std::vector<T> only_right;
};
- static std::vector<name_and_version_diff_t> find_updated_ports(const std::vector<std::string>& ports,
+ static std::vector<updated_port> find_updated_ports(const std::vector<std::string>& ports,
const std::map<std::string, version_t>& previous_names_and_versions,
const std::map<std::string, version_t>& current_names_and_versions)
{
- std::vector<name_and_version_diff_t> output;
+ std::vector<updated_port> output;
for (const std::string& name : ports)
{
const version_t& previous_version = previous_names_and_versions.at(name);
@@ -128,14 +139,14 @@ namespace vcpkg::Commands::PortsDiff
}
const std::vector<std::string>& common_ports = setp.both;
- const std::vector<name_and_version_diff_t> updated_ports = find_updated_ports(common_ports, previous_names_and_versions, current_names_and_versions);
+ const std::vector<updated_port> updated_ports = find_updated_ports(common_ports, previous_names_and_versions, current_names_and_versions);
if (!updated_ports.empty())
{
System::println("\nThe following %d ports were updated:\n", updated_ports.size());
- for (const name_and_version_diff_t& p : updated_ports)
+ for (const updated_port& p : updated_ports)
{
- System::println("%-20s %-16s", p.name, p.version_diff.toString());
+ System::println("%-20s %-16s", p.port, p.version_diff.toString());
}
}