commit - e39a17e2af24e9e217862e7c5221afe33a65aa24
commit + ab6186ae7d9e4f25db5401fc5953073c1c27ce86
blob - ab321670f87d99ceb8e97a9fd709bab32f675dfe
blob + 0182edd3af82986f364ff86ab43cee6b3b88f795
--- lib/pack_create.c
+++ lib/pack_create.c
struct got_object_id id;
char *path;
int obj_type;
+ off_t size;
time_t mtime;
/* The best delta we picked */
err = got_object_raw_open(&raw, repo, &m->id, 8192);
if (err)
goto done;
+ m->size = raw->size;
err = got_deltify_init(&m->dtab, raw->f, raw->hdrlen,
raw->size + raw->hdrlen);
off_t nd;
SHA1_CTX ctx;
struct got_pack_meta *m;
- struct got_raw_object *raw = NULL, *base_raw = NULL;
+ struct got_raw_object *raw = NULL;
FILE *delta_file = NULL;
char buf[32];
size_t outlen, n;
err = got_error_from_errno("fseeko");
goto done;
}
- err = got_object_raw_open(&base_raw, repo,
- &m->prev->id, 8192);
- if (err)
- goto done;
- err = encodedelta(m, raw, base_raw->size, delta_file);
+ err = encodedelta(m, raw, m->prev->size, delta_file);
if (err)
goto done;
nd = ftello(delta_file);
err = got_error_from_errno("fseeko");
goto done;
}
- got_object_raw_close(base_raw);
- base_raw = NULL;
if (use_offset_deltas && m->prev->off != 0) {
err = packhdr(&nh, buf, sizeof(buf),
GOT_OBJ_TYPE_OFFSET_DELTA, nd);
err = got_error_from_errno("fclose");
if (raw)
got_object_raw_close(raw);
- if (base_raw)
- got_object_raw_close(base_raw);
return err;
}