[PATCHv3 4/5] Teach transport about the gitfile mechanism
From: Phil Hord <hidden>
Date: 2016-06-15 22:52:11
Subsystem:
the rest · Maintainer:
Linus Torvalds
From: Phil Hord <hidden>
Date: 2016-06-15 22:52:11
Subsystem:
the rest · Maintainer:
Linus Torvalds
The transport_get() function assumes that a regular file is a bundle rather than a local git directory. Check if the file is actually a gitfile. If so, do not try to process it as a bundle, but treat it as a local repository instead. Signed-off-by: Phil Hord <redacted>
diff --git a/transport.c b/transport.c
index cd49a25..2ff2d68 100644
--- a/transport.c
+++ b/transport.c@@ -915,7 +915,7 @@ struct transport *transport_get(struct remote *remote, const char *url) ret->fetch = fetch_objs_via_rsync; ret->push = rsync_transport_push; ret->smart_options = NULL; - } else if (is_local(url) && is_file(url)) { + } else if (is_local(url) && is_file(url) && !is_gitfile(url)) { struct bundle_transport_data *data = xcalloc(1, sizeof(*data)); ret->data = data; ret->get_refs_list = get_refs_from_bundle;
--
1.7.7.505.ga09f6