diff options
Diffstat (limited to 'bpkg/options-types.hxx')
-rw-r--r-- | bpkg/options-types.hxx | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/bpkg/options-types.hxx b/bpkg/options-types.hxx index 6576060..30d52a0 100644 --- a/bpkg/options-types.hxx +++ b/bpkg/options-types.hxx @@ -8,6 +8,8 @@ #include <cassert> #include <utility> // move() +#include <libbutl/prefix-map.hxx> + #include <bpkg/types.hxx> namespace bpkg @@ -27,6 +29,17 @@ namespace bpkg json }; + enum class git_protocol_capabilities + { + dumb, // No shallow clone support. + smart, // Support for shallow clone, but not for unadvertised refs fetch. + unadv // Support for shallow clone and for unadvertised refs fetch. + }; + + using git_capabilities_map = butl::prefix_map<string, + git_protocol_capabilities, + '/'>; + // Qualified options. // // An option that uses this type can have its values qualified using the |