X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=ssh-fetch.c;h=b006c5c9802d96bc504188e10a9698a1f943477c;hb=3fc8284e2114624f2657142b3fecdc6f514b2090;hp=e3067b878e8721886c9fe61b136b46415165671d;hpb=dcaad49c928f047d5ffa1c5a1753aff6e87f16b5;p=git.git diff --git a/ssh-fetch.c b/ssh-fetch.c index e3067b878..b006c5c98 100644 --- a/ssh-fetch.c +++ b/ssh-fetch.c @@ -17,14 +17,14 @@ static int fd_in; static int fd_out; -static unsigned char remote_version = 0; +static unsigned char remote_version; static unsigned char local_version = 1; static ssize_t force_write(int fd, void *buffer, size_t length) { ssize_t ret = 0; while (ret < length) { - ssize_t size = write(fd, buffer + ret, length - ret); + ssize_t size = write(fd, (char *) buffer + ret, length - ret); if (size < 0) { return size; } @@ -36,9 +36,9 @@ static ssize_t force_write(int fd, void *buffer, size_t length) return ret; } -static int prefetches = 0; +static int prefetches; -static struct object_list *in_transit = NULL; +static struct object_list *in_transit; static struct object_list **end_of_transit = &in_transit; void prefetch(unsigned char *sha1) @@ -59,7 +59,7 @@ void prefetch(unsigned char *sha1) } static char conn_buf[4096]; -static size_t conn_buf_posn = 0; +static size_t conn_buf_posn; int fetch(unsigned char *sha1) { @@ -67,8 +67,8 @@ int fetch(unsigned char *sha1) signed char remote; struct object_list *temp; - if (memcmp(sha1, in_transit->item->sha1, 20)) { - // we must have already fetched it to clean the queue + if (hashcmp(sha1, in_transit->item->sha1)) { + /* we must have already fetched it to clean the queue */ return has_sha1_file(sha1) ? 0 : -1; } prefetches--; @@ -85,7 +85,7 @@ int fetch(unsigned char *sha1) if (read(fd_in, &remote, 1) < 1) return -1; } - //fprintf(stderr, "Got %d\n", remote); + /* fprintf(stderr, "Got %d\n", remote); */ if (remote < 0) return remote; ret = write_sha1_from_fd(sha1, fd_in, conn_buf, 4096, &conn_buf_posn); @@ -120,9 +120,10 @@ int fetch_ref(char *ref, unsigned char *sha1) static const char ssh_fetch_usage[] = MY_PROGRAM_NAME - " [-c] [-t] [-a] [-v] [-d] [--recover] [-w ref] commit-id url"; + " [-c] [-t] [-a] [-v] [--recover] [-w ref] commit-id url"; int main(int argc, char **argv) { + const char *write_ref = NULL; char *commit_id; char *url; int arg = 1; @@ -131,6 +132,7 @@ int main(int argc, char **argv) prog = getenv("GIT_SSH_PUSH"); if (!prog) prog = "git-ssh-upload"; + setup_ident(); setup_git_directory(); git_config(git_default_config); @@ -159,7 +161,6 @@ int main(int argc, char **argv) } commit_id = argv[arg]; url = argv[arg + 1]; - write_ref_log_details = url; if (setup_connection(&fd_in, &fd_out, prog, url, arg, argv + 1)) return 1; @@ -167,7 +168,7 @@ int main(int argc, char **argv) if (get_version()) return 1; - if (pull(commit_id)) + if (pull(1, &commit_id, &write_ref, url)) return 1; return 0;