path: root/transport.h
diff options
authorIlari Liusvaara <>2009-12-09 15:26:33 (GMT)
committerJunio C Hamano <>2009-12-28 08:24:15 (GMT)
commitb236752a8722c77b5a9b4ed488a992ee05252843 (patch)
tree4035f35d52c4e5a24c0dd3ddddcac76bcae6dc04 /transport.h
parentfa8c097cc9b416283ae4c1c1507909ff207b7f60 (diff)
Support remote archive from all smart transports
Previously, remote archive required internal (non remote-helper) smart transport. Extend the remote archive to also support smart transports implemented by remote helpers. Signed-off-by: Ilari Liusvaara <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'transport.h')
1 files changed, 5 insertions, 0 deletions
diff --git a/transport.h b/transport.h
index 781db2e..97ba251 100644
--- a/transport.h
+++ b/transport.h
@@ -64,6 +64,8 @@ struct transport {
int (*push_refs)(struct transport *transport, struct ref *refs, int flags);
int (*push)(struct transport *connection, int refspec_nr, const char **refspec, int flags);
+ int (*connect)(struct transport *connection, const char *name,
+ const char *executable, int fd[2]);
/** get_refs_list(), fetch(), and push_refs() can keep
* resources (such as a connection) reserved for futher
@@ -133,6 +135,9 @@ char *transport_anonymize_url(const char *url);
void transport_take_over(struct transport *transport,
struct child_process *child);
+int transport_connect(struct transport *transport, const char *name,
+ const char *exec, int fd[2]);
/* Transport methods defined outside transport.c */
int transport_helper_init(struct transport *transport, const char *name);