aboutsummaryrefslogtreecommitdiff
path: root/bpkg/options-types.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'bpkg/options-types.hxx')
-rw-r--r--bpkg/options-types.hxx25
1 files changed, 24 insertions, 1 deletions
diff --git a/bpkg/options-types.hxx b/bpkg/options-types.hxx
index 876f0a5..30d52a0 100644
--- a/bpkg/options-types.hxx
+++ b/bpkg/options-types.hxx
@@ -8,8 +8,14 @@
#include <cassert>
#include <utility> // move()
+#include <libbutl/prefix-map.hxx>
+
+#include <bpkg/types.hxx>
+
namespace bpkg
{
+ using uuid_type = uuid;
+
enum class auth
{
none,
@@ -17,6 +23,23 @@ namespace bpkg
all
};
+ enum class stdout_format
+ {
+ lines,
+ 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
@@ -69,7 +92,7 @@ namespace bpkg
}
};
- extern const char* openssl_commands[3]; // Clang bug requres explicit size.
+ extern const char* openssl_commands[5]; // Clang bug requres explicit size.
}
#endif // BPKG_OPTIONS_TYPES_HXX