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

1 messages from 2011-10-05 to 2011-10-05. Participants: Phil Hord.
Thread: https://gitlist.dev/t/28587

## Phil Hord, 2011-10-05 13:35

Subject: [PATCHv3 4/5] Teach transport about the gitfile mechanism
Message-ID: <4E8C5D0E.6080207@cisco.com>
URL: https://gitlist.dev/e/4E8C5D0E.6080207%40cisco.com

```
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

```
