diff --git a/builtin-fetch-pack.c b/builtin-fetch-pack.c
index 87f46c6d07ccb0f82449b92e33cd4cda76a99da3..629735f54723a3bc3b24f8c91e9a6226ae28d742 100644 (file)
--- a/builtin-fetch-pack.c
+++ b/builtin-fetch-pack.c
{
int *xd = data;
- return recv_sideband("fetch-pack", xd[0], fd);
+ int ret = recv_sideband("fetch-pack", xd[0], fd);
+ close(fd);
+ return ret;
}
static int get_pack(int xd[2], char **pack_lockfile)
fd = hold_lock_file_for_update(&lock, shallow,
LOCK_DIE_ON_ERROR);
if (!write_shallow_commits(fd, 0)) {
- unlink(shallow);
+ unlink_or_warn(shallow);
rollback_lock_file(&lock);
} else {
commit_lock_file(&lock);