From 02970b233afb937f7a16d27d47ded056ce082c1e Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Thu, 20 Jun 2019 18:22:11 +0300 Subject: Add ability to keep/update/remove current tag in bdep-release revision mode Note that previously the default was to update while now it is to keep. --- bdep/release-parsers.cxx | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 bdep/release-parsers.cxx (limited to 'bdep/release-parsers.cxx') diff --git a/bdep/release-parsers.cxx b/bdep/release-parsers.cxx new file mode 100644 index 0000000..5ad8cd7 --- /dev/null +++ b/bdep/release-parsers.cxx @@ -0,0 +1,31 @@ +// file : bdep/release-parsers.cxx -*- C++ -*- +// copyright : Copyright (c) 2014-2019 Code Synthesis Ltd +// license : MIT; see accompanying LICENSE file + +#include + +#include // bdep::cli namespace + +namespace bdep +{ + namespace cli + { + void parser:: + parse (cmd_release_current_tag& r, bool& xs, scanner& s) + { + const char* o (s.next ()); + + if (!s.more ()) + throw missing_value (o); + + string v (s.next ()); + + if (v == "keep") r = cmd_release_current_tag::keep; + else if (v == "update") r = cmd_release_current_tag::update; + else if (v == "remove") r = cmd_release_current_tag::remove; + else throw invalid_value (o, v); + + xs = true; + } + } +} -- cgit v1.1