commit - eef6493a8d08ef874a8060f8966241d8c1337168
commit + 4e8cda5531c5c4065304f6e9372113dc81a870b0
blob - 86f4debca99a0996d1ad5d5ee01f1073caaa503e
blob + 4e2e9d2db6ac7e5051f17ad50bcdcdd6274f5659
--- lib/pack.c
+++ lib/pack.c
if (err)
return err;
+ /*
+ * XXX We currently only support plain objects as a delta base,
+ * i.e. deltas cannot be chained. Is this a problem?
+ * If so, we would have to resolve a plain object base type here.
+ */
+ switch (base_type) {
+ case GOT_OBJ_TYPE_COMMIT:
+ case GOT_OBJ_TYPE_TREE:
+ case GOT_OBJ_TYPE_BLOB:
+ case GOT_OBJ_TYPE_TAG:
+ break;
+ case GOT_OBJ_TYPE_OFFSET_DELTA:
+ case GOT_OBJ_TYPE_REF_DELTA:
+ default:
+ return got_error(GOT_ERR_NOT_IMPL);
+ }
+
*obj = calloc(1, sizeof(**obj));
if (*obj == NULL)
return got_error(GOT_ERR_NO_MEM);