summaryrefslogtreecommitdiff
path: root/transport.h
diff options
context:
space:
mode:
authorIlari Liusvaara <ilari.liusvaara@elisanet.fi>2009-12-09 17:26:30 +0200
committerJunio C Hamano <gitster@pobox.com>2009-12-09 12:40:42 -0800
commitaa5af9749f53f7e44bef36c5c40918295430fb03 (patch)
tree72230aef9e754380f79ec5a2b7c831941d15a33e /transport.h
parent25d5cc488a75cc232e97af42759812d9aa398713 (diff)
downloadgit-aa5af9749f53f7e44bef36c5c40918295430fb03.tar.gz
Refactor git transport options parsing
Refactor the transport options parsing so that protocols that aren't directly smart transports (file://, git://, ssh:// & co) can record the smart transport options for the case if it turns that transport can actually be smart. Signed-off-by: Ilari Liusvaara <ilari.liusvaara@elisanet.fi> Signed-off-by: Junio C Hamano <gitster@pobox.com>
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 9e74406fa2..e90c285bbc 100644
--- a/transport.h
+++ b/transport.h
@@ -4,6 +4,15 @@
#include "cache.h"
#include "remote.h"
+struct git_transport_options {
+ unsigned thin : 1;
+ unsigned keep : 1;
+ unsigned followtags : 1;
+ int depth;
+ const char *uploadpack;
+ const char *receivepack;
+};
+
struct transport {
struct remote *remote;
const char *url;
@@ -65,6 +74,12 @@ struct transport {
signed verbose : 3;
/* Force progress even if the output is not a tty */
unsigned progress : 1;
+ /*
+ * If transport is at least potentially smart, this points to
+ * git_transport_options structure to use in case transport
+ * actually turns out to be smart.
+ */
+ struct git_transport_options *smart_options;
};
#define TRANSPORT_PUSH_ALL 1