Move "get_ack()" to common git_connect functions
git-clone-pack will want it too. Soon.maint
							parent
							
								
									4f7770c87c
								
							
						
					
					
						commit
						41cb7488b9
					
				
							
								
								
									
										1
									
								
								cache.h
								
								
								
								
							
							
						
						
									
										1
									
								
								cache.h
								
								
								
								
							|  | @ -263,6 +263,7 @@ struct pack_entry { | |||
| extern int git_connect(int fd[2], char *url, const char *prog); | ||||
| extern int finish_connect(pid_t pid); | ||||
| extern int path_match(const char *path, int nr, char **match); | ||||
| extern int get_ack(int fd, unsigned char *result_sha1); | ||||
|  | ||||
| extern void prepare_packed_git(void); | ||||
| extern int use_packed_git(struct packed_git *); | ||||
|  |  | |||
							
								
								
									
										19
									
								
								connect.c
								
								
								
								
							
							
						
						
									
										19
									
								
								connect.c
								
								
								
								
							|  | @ -1,6 +1,25 @@ | |||
| #include "cache.h" | ||||
| #include "pkt-line.h" | ||||
| #include <sys/wait.h> | ||||
|  | ||||
| int get_ack(int fd, unsigned char *result_sha1) | ||||
| { | ||||
| 	static char line[1000]; | ||||
| 	int len = packet_read_line(fd, line, sizeof(line)); | ||||
|  | ||||
| 	if (!len) | ||||
| 		die("git-fetch-pack: expected ACK/NAK, got EOF"); | ||||
| 	if (line[len-1] == '\n') | ||||
| 		line[--len] = 0; | ||||
| 	if (!strcmp(line, "NAK")) | ||||
| 		return 0; | ||||
| 	if (!strncmp(line, "ACK ", 3)) { | ||||
| 		if (!get_sha1_hex(line+4, result_sha1)) | ||||
| 			return 1; | ||||
| 	} | ||||
| 	die("git-fetch_pack: expected ACK/NAK, got '%s'", line); | ||||
| } | ||||
|  | ||||
| int path_match(const char *path, int nr, char **match) | ||||
| { | ||||
| 	int i; | ||||
|  |  | |||
							
								
								
									
										18
									
								
								fetch-pack.c
								
								
								
								
							
							
						
						
									
										18
									
								
								fetch-pack.c
								
								
								
								
							|  | @ -6,24 +6,6 @@ | |||
| static const char fetch_pack_usage[] = "git-fetch-pack [host:]directory [heads]* < mycommitlist"; | ||||
| static const char *exec = "git-upload-pack"; | ||||
|  | ||||
| static int get_ack(int fd, unsigned char *result_sha1) | ||||
| { | ||||
| 	static char line[1000]; | ||||
| 	int len = packet_read_line(fd, line, sizeof(line)); | ||||
|  | ||||
| 	if (!len) | ||||
| 		die("git-fetch-pack: expected ACK/NAK, got EOF"); | ||||
| 	if (line[len-1] == '\n') | ||||
| 		line[--len] = 0; | ||||
| 	if (!strcmp(line, "NAK")) | ||||
| 		return 0; | ||||
| 	if (!strncmp(line, "ACK ", 3)) { | ||||
| 		if (!get_sha1_hex(line+4, result_sha1)) | ||||
| 			return 1; | ||||
| 	} | ||||
| 	die("git-fetch_pack: expected ACK/NAK, got '%s'", line); | ||||
| } | ||||
|  | ||||
| static int find_common(int fd[2], unsigned char *result_sha1, unsigned char *remote) | ||||
| { | ||||
| 	static char line[1000]; | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Linus Torvalds
						Linus Torvalds