threads / discuss / 28587

[PATCHv3 4/5] Teach transport about the gitfile mechanism

Subject: [PATCHv3 4/5] Teach transport about the gitfile mechanism

## tl;dr

One message between Oct 5, 2011 and Oct 5, 2011.

replies: 0people: 1as markdown or json

Phil Hord· Oct 5, 2011, 13:35 UTC · lore

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 <hordp@cisco.com>
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

← back to recent threads