mirror of
https://github.com/git/git.git
synced 2024-11-20 06:24:00 +01:00
http.c: Tiny refactoring of finish_http_pack_request
Always remove the struct packed_git from the active list, even if the rename of the temporary file fails. While we are here, simplify the code a bit by using a common local variable name ("p") to hold the relevant packed_git. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
d761b2ac0e
commit
021ab6f00b
16
http.c
16
http.c
@ -1002,8 +1002,9 @@ int finish_http_pack_request(struct http_pack_request *preq)
|
|||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
struct packed_git **lst;
|
struct packed_git **lst;
|
||||||
|
struct packed_git *p = preq->target;
|
||||||
|
|
||||||
preq->target->pack_size = ftell(preq->packfile);
|
p->pack_size = ftell(preq->packfile);
|
||||||
|
|
||||||
if (preq->packfile != NULL) {
|
if (preq->packfile != NULL) {
|
||||||
fclose(preq->packfile);
|
fclose(preq->packfile);
|
||||||
@ -1011,18 +1012,17 @@ int finish_http_pack_request(struct http_pack_request *preq)
|
|||||||
preq->slot->local = NULL;
|
preq->slot->local = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = move_temp_to_file(preq->tmpfile, preq->filename);
|
|
||||||
if (ret)
|
|
||||||
return ret;
|
|
||||||
|
|
||||||
lst = preq->lst;
|
lst = preq->lst;
|
||||||
while (*lst != preq->target)
|
while (*lst != p)
|
||||||
lst = &((*lst)->next);
|
lst = &((*lst)->next);
|
||||||
*lst = (*lst)->next;
|
*lst = (*lst)->next;
|
||||||
|
|
||||||
if (verify_pack(preq->target))
|
ret = move_temp_to_file(preq->tmpfile, preq->filename);
|
||||||
|
if (ret)
|
||||||
|
return ret;
|
||||||
|
if (verify_pack(p))
|
||||||
return -1;
|
return -1;
|
||||||
install_packed_git(preq->target);
|
install_packed_git(p);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user