X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=upload-pack.c;h=07ecdb4281cfb32cf16dfc7c46c53e6e8d0247bc;hb=f3c5b39567535a41a371aad8a6affbeea0d4c0b9;hp=2b70c3dcb4e3b1e73d7d5a088ae73de17540b6b7;hpb=554fe20d805693d962bd41647c5dc075cf7f5261;p=git.git diff --git a/upload-pack.c b/upload-pack.c index 2b70c3dcb..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; @@ -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; @@ -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); }