aboutsummaryrefslogtreecommitdiff
path: root/bpkg
diff options
context:
space:
mode:
Diffstat (limited to 'bpkg')
-rw-r--r--bpkg/manifest8
-rw-r--r--bpkg/manifest.cxx16
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::