fetch-pack: Use a strbuf to compose the want list
This change is being offered as a refactoring to make later commits in the smart HTTP series easier. By changing the enabled capabilities to be formatted in a strbuf it is easier to add a new capability to the set of supported capabilities. By formatting the want portion of the request into a strbuf and writing it as a whole block we can later decide to hold onto the req_buf (instead of releasing it) to recycle in stateless communications. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
743c4b7b0f
commit
edace6f02e
10
commit.c
10
commit.c
@ -199,7 +199,7 @@ struct commit_graft *lookup_commit_graft(const unsigned char *sha1)
|
||||
return commit_graft[pos];
|
||||
}
|
||||
|
||||
int write_shallow_commits(int fd, int use_pack_protocol)
|
||||
int write_shallow_commits(struct strbuf *out, int use_pack_protocol)
|
||||
{
|
||||
int i, count = 0;
|
||||
for (i = 0; i < commit_graft_nr; i++)
|
||||
@ -208,12 +208,10 @@ int write_shallow_commits(int fd, int use_pack_protocol)
|
||||
sha1_to_hex(commit_graft[i]->sha1);
|
||||
count++;
|
||||
if (use_pack_protocol)
|
||||
packet_write(fd, "shallow %s", hex);
|
||||
packet_buf_write(out, "shallow %s", hex);
|
||||
else {
|
||||
if (write_in_full(fd, hex, 40) != 40)
|
||||
break;
|
||||
if (write_str_in_full(fd, "\n") != 1)
|
||||
break;
|
||||
strbuf_addstr(out, hex);
|
||||
strbuf_addch(out, '\n');
|
||||
}
|
||||
}
|
||||
return count;
|
||||
|
Reference in New Issue
Block a user