summaryrefslogtreecommitdiff
path: root/connect.h
diff options
context:
space:
mode:
authorTorsten Bögershausen <tboegi@web.de>2013-11-28 19:50:03 (GMT)
committerJunio C Hamano <gitster@pobox.com>2013-12-09 22:54:48 (GMT)
commitc59ab2e52a64abd7fded97e0983a9b7f3d0508a0 (patch)
treeec8fbc7ea0cc3a49ee0519425c486d03bb1325cc /connect.h
parent83b058752707a6ba4af51ebc98c47913bc7d2d25 (diff)
downloadgit-c59ab2e52a64abd7fded97e0983a9b7f3d0508a0.zip
git-c59ab2e52a64abd7fded97e0983a9b7f3d0508a0.tar.gz
git-c59ab2e52a64abd7fded97e0983a9b7f3d0508a0.tar.bz2
connect.c: refactor url parsing
Make the function is_local() in transport.c public, rename it into url_is_local_not_ssh() and use it in both transport.c and connect.c Use a protocol "local" for URLs for the local file system. One note about using file:// under Windows: The (absolute) path on Unix like system typically starts with "/". When the host is empty, it can be omitted, so that a shell scriptlet url=file://$pwd will give a URL like "file:///home/user/repo". Windows does not have the same concept of a root directory located in "/". When parsing the URL allow "file://C:/user/repo" (even if RFC1738 indicates that "file:///C:/user/repo" should be used). Signed-off-by: Torsten Bögershausen <tboegi@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'connect.h')
-rw-r--r--connect.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/connect.h b/connect.h
index 527d58a..c41a685 100644
--- a/connect.h
+++ b/connect.h
@@ -9,5 +9,6 @@ extern int git_connection_is_socket(struct child_process *conn);
extern int server_supports(const char *feature);
extern int parse_feature_request(const char *features, const char *feature);
extern const char *server_feature_value(const char *feature, int *len_ret);
+extern int url_is_local_not_ssh(const char *url);
#endif