[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

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help