summaryrefslogtreecommitdiff
path: root/transport.h
diff options
context:
space:
mode:
Diffstat (limited to 'transport.h')
-rw-r--r--transport.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/transport.h b/transport.h
index bdc35181c3..68669f14d0 100644
--- a/transport.h
+++ b/transport.h
@@ -23,6 +23,12 @@ struct git_transport_options {
struct push_cas_option *cas;
};
+enum transport_family {
+ TRANSPORT_FAMILY_ALL = 0,
+ TRANSPORT_FAMILY_IPV4,
+ TRANSPORT_FAMILY_IPV6
+};
+
struct transport {
struct remote *remote;
const char *url;
@@ -47,6 +53,12 @@ struct transport {
*/
unsigned cloning : 1;
+ /*
+ * These strings will be passed to the {pre, post}-receive hook,
+ * on the remote side, if both sides support the push options capability.
+ */
+ const struct string_list *push_options;
+
/**
* Returns 0 if successful, positive if the option is not
* recognized or is inapplicable, and negative if the option
@@ -115,6 +127,8 @@ struct transport {
* actually turns out to be smart.
*/
struct git_transport_options *smart_options;
+
+ enum transport_family family;
};
#define TRANSPORT_PUSH_ALL 1
@@ -131,6 +145,7 @@ struct transport {
#define TRANSPORT_PUSH_CERT_ALWAYS 2048
#define TRANSPORT_PUSH_CERT_IF_ASKED 4096
#define TRANSPORT_PUSH_ATOMIC 8192
+#define TRANSPORT_PUSH_OPTIONS 16384
#define TRANSPORT_SUMMARY_WIDTH (2 * DEFAULT_ABBREV + 3)
#define TRANSPORT_SUMMARY(x) (int)(TRANSPORT_SUMMARY_WIDTH + strlen(x) - gettext_width(x)), (x)