-static int get_remote_heads(int fd, int nr_match, char **match, unsigned char *result)
-{
- int count = 0;
-
- for (;;) {
- static char line[1000];
- unsigned char sha1[20];
- char *refname;
- int len;
-
- len = packet_read_line(fd, line, sizeof(line));
- if (!len)
- break;
- if (line[len-1] == '\n')
- line[--len] = 0;
- if (len < 42 || get_sha1_hex(line, sha1))
- die("git-fetch-pack: protocol error - expected ref descriptor, got '%s¤'", line);
- refname = line+41;
- if (nr_match && !path_match(refname, nr_match, match))
- continue;
- count++;
- memcpy(result, sha1, 20);
- }
- return count;
-}
-