diff options
author | Karen Arutyunov <karen@codesynthesis.com> | 2019-06-20 18:22:11 +0300 |
---|---|---|
committer | Karen Arutyunov <karen@codesynthesis.com> | 2019-06-21 18:43:11 +0300 |
commit | 02970b233afb937f7a16d27d47ded056ce082c1e (patch) | |
tree | a138ccf067a540740c2c54bf7828b584856bcaf4 /bdep/release-parsers.cxx | |
parent | 3f8dfa06e942872cea8404d17a780b673e768431 (diff) |
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.
Diffstat (limited to 'bdep/release-parsers.cxx')
-rw-r--r-- | bdep/release-parsers.cxx | 31 |
1 files changed, 31 insertions, 0 deletions
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 <bdep/release-parsers.hxx> + +#include <bdep/release-options.hxx> // bdep::cli namespace + +namespace bdep +{ + namespace cli + { + void parser<cmd_release_current_tag>:: + 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; + } + } +} |