pack-objects: clarification & option checks for --max-pack-size
PATCH 1/1 pack-objects: clarification & option checks for --max-pack-size
Explain the special code for detecting a corner-case error, and complain about --stdout & --max-pack-size being used together.
Signed-off-by Dana L. How <[email protected]>
--- builtin-pack-objects.c | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-)
builtin-pack-objects.c +9 -0
@@ -679,6 +679,12 @@ static void write_pack_file(void)stop_progress (&progress_state);if (written != nr_result)die ("wrote %u objects while expecting %u" , written, nr_result); +/* +* We have scanned through [0 ... i). Since we have written +* the correct number of objects, the remaining [i ... nr_objects) +* items must be either already written (due to out-of-order delta base) +* or a preferred base. Count those which are neither and complain if any. +*/ for (j =0 ; i < nr_objects; i++) {struct object_entry *e = objects + i; j += !e->offset && !e->preferred_base;
@@ -1852,6 +1858,9 @@ int cmd_pack_objects(int argc, const char **argv, const char *prefix)if (pack_to_stdout != !base_name)usage (pack_usage); +if (pack_to_stdout && pack_size_limit) +die ("--max-pack-size cannot be used to build a pack for transfer." ); +if (!pack_to_stdout && thin)die ("--thin cannot be used to build an indexable pack." );
Signature · 1 line
1.5.2.762.gd8c6-dirty