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>
		
			
				
	
	
		
			15 lines
		
	
	
		
			596 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			15 lines
		
	
	
		
			596 B
		
	
	
	
		
			C
		
	
	
	
	
	
#ifndef CONNECT_H
 | 
						|
#define CONNECT_H
 | 
						|
 | 
						|
#define CONNECT_VERBOSE       (1u << 0)
 | 
						|
#define CONNECT_DIAG_URL      (1u << 1)
 | 
						|
extern struct child_process *git_connect(int fd[2], const char *url, const char *prog, int flags);
 | 
						|
extern int finish_connect(struct child_process *conn);
 | 
						|
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
 |