diff options
author | Karen Arutyunov <karen@codesynthesis.com> | 2018-04-19 22:43:08 +0300 |
---|---|---|
committer | Karen Arutyunov <karen@codesynthesis.com> | 2018-04-19 22:43:08 +0300 |
commit | bba520774fd6185f62a6bf52c61b98104a826f5f (patch) | |
tree | 4be19b347486932c7858349bb7a7c476e88dd5a4 /libbpkg/manifest.cxx | |
parent | 7cf0854121525747b438b7f94bf2d050f61fb615 (diff) |
Add support for comma-separated list of git reference filter
Diffstat (limited to 'libbpkg/manifest.cxx')
-rw-r--r-- | libbpkg/manifest.cxx | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/libbpkg/manifest.cxx b/libbpkg/manifest.cxx index e1dfb52..2374b77 100644 --- a/libbpkg/manifest.cxx +++ b/libbpkg/manifest.cxx @@ -2093,7 +2093,7 @@ namespace bpkg // Verify the URL fragment. // if (url_.fragment) - git_ref_filter r (*url_.fragment); + parse_git_ref_filters (*url_.fragment); break; } @@ -2327,6 +2327,19 @@ namespace bpkg "git repository commit id must be 40 characters long"); } + git_ref_filters + parse_git_ref_filters (const string& s) + { + git_ref_filters r; + for (size_t p (0); p != string::npos; ) + { + size_t e (s.find (',', p)); + r.emplace_back (string (s, p, e != string::npos ? e - p : e)); + p = e != string::npos ? e + 1 : e; + } + return r; + } + // repository_manifest // repository_role repository_manifest:: |