X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=upload-pack.c;h=07ecdb4281cfb32cf16dfc7c46c53e6e8d0247bc;hb=f3c5b39567535a41a371aad8a6affbeea0d4c0b9;hp=7b86f6965b5306f2162a9076f6ab3bbc1cc32a4b;hpb=5ab2c0a47574c92f92ea3709b23ca35d96319edd;p=git.git diff --git a/upload-pack.c b/upload-pack.c index 7b86f6965..07ecdb428 100644 --- a/upload-pack.c +++ b/upload-pack.c @@ -1,3 +1,6 @@ +#include +#include +#include #include "cache.h" #include "refs.h" #include "pkt-line.h" @@ -5,9 +8,6 @@ #include "object.h" #include "commit.h" #include "exec_cmd.h" -#include -#include -#include static const char upload_pack_usage[] = "git-upload-pack [--strict] [--timeout=nn] "; @@ -51,6 +51,10 @@ static ssize_t send_client_data(int fd, const char *data, ssize_t sz) if (fd == 3) /* emergency quit */ fd = 2; + if (fd == 2) { + xwrite(fd, data, sz); + return sz; + } return safe_write(fd, data, sz); } p = data; @@ -95,8 +99,8 @@ static void create_pack_file(void) int i; int args; const char **argv; + const char **p; char *buf; - char **p; if (create_full_pack) { args = 10; @@ -178,6 +182,8 @@ static void create_pack_file(void) ssize_t sz; int pe, pu, pollsize; + reset_timeout(); + pollsize = 0; pe = pu = -1; @@ -326,7 +332,7 @@ static int got_sha1(char *hex, unsigned char *sha1) o = parse_object(sha1); if (!o) die("oops (%s)", sha1_to_hex(sha1)); - if (o->type == TYPE_COMMIT) { + if (o->type == OBJ_COMMIT) { struct commit_list *parents; if (o->flags & THEY_HAVE) return 0; @@ -441,7 +447,7 @@ static int receive_needs(void) static int send_ref(const char *refname, const unsigned char *sha1) { - static char *capabilities = "multi_ack thin-pack side-band"; + static const char *capabilities = "multi_ack thin-pack side-band"; struct object *o = parse_object(sha1); if (!o) @@ -457,7 +463,7 @@ static int send_ref(const char *refname, const unsigned char *sha1) o->flags |= OUR_REF; nr_our_refs++; } - if (o->type == TYPE_TAG) { + if (o->type == OBJ_TAG) { o = deref_tag(o, refname, 0); packet_write(1, "%s %s^{}\n", sha1_to_hex(o->sha1), refname); }