diff options
-rw-r--r-- | bpkg/manifest | 8 | ||||
-rw-r--r-- | bpkg/manifest.cxx | 16 |
2 files changed, 17 insertions, 7 deletions
diff --git a/bpkg/manifest b/bpkg/manifest index 0bbb0dc..35ff650 100644 --- a/bpkg/manifest +++ b/bpkg/manifest @@ -68,13 +68,7 @@ namespace bpkg canonical_upstream () const noexcept {return canonical_upstream_;} std::string - string () const - { - const std::string& v ( - epoch_ != 0 ? std::to_string (epoch_) + "+" + upstream_ : upstream_); - - return revision_ != 0 ? v + "-" + std::to_string (revision_) : v; - } + string (bool ignore_revision = false) const; bool operator< (const version& v) const noexcept {return compare (v) < 0;} diff --git a/bpkg/manifest.cxx b/bpkg/manifest.cxx index 40f362e..b66d5d4 100644 --- a/bpkg/manifest.cxx +++ b/bpkg/manifest.cxx @@ -326,6 +326,22 @@ namespace bpkg canonical_upstream_.resize (cl); } + string version:: + string (bool ignore_revision) const + { + std::string v (epoch_ != 0 + ? to_string (epoch_) + "+" + upstream_ + : upstream_); + + if (!ignore_revision && revision_ != 0) + { + v += '-'; + v += to_string (revision_); + } + + return v; + } + // package_manifest // package_manifest:: |