From 64422a7d0beb5243d051320cc94c14324b845049 Mon Sep 17 00:00:00 2001 From: Gatis Paeglis Date: Thu, 24 Nov 2016 15:59:36 +0100 Subject: [PATCH] deltas: Expose the filename parameter The C API (ostree_repo_static_delta_generate) knows what to do with it, but this parameter was never exposed via command line tool. Closes: https://github.com/ostreedev/ostree/issues/695 Closes: #703 Approved by: jlebon --- src/ostree/ot-builtin-static-delta.c | 5 +++++ tests/test-delta.sh | 8 ++++++++ 2 files changed, 13 insertions(+) diff --git a/src/ostree/ot-builtin-static-delta.c b/src/ostree/ot-builtin-static-delta.c index c8843a65..1019f06f 100644 --- a/src/ostree/ot-builtin-static-delta.c +++ b/src/ostree/ot-builtin-static-delta.c @@ -33,6 +33,7 @@ static char *opt_min_fallback_size; static char *opt_max_bsdiff_size; static char *opt_max_chunk_size; static char *opt_endianness; +static char *opt_filename; static gboolean opt_empty; static gboolean opt_swap_endianness; static gboolean opt_inline; @@ -71,6 +72,7 @@ static GOptionEntry generate_options[] = { { "min-fallback-size", 0, 0, G_OPTION_ARG_STRING, &opt_min_fallback_size, "Minimum uncompressed size in megabytes for individual HTTP request", NULL}, { "max-bsdiff-size", 0, 0, G_OPTION_ARG_STRING, &opt_max_bsdiff_size, "Maximum size in megabytes to consider bsdiff compression for input files", NULL}, { "max-chunk-size", 0, 0, G_OPTION_ARG_STRING, &opt_max_chunk_size, "Maximum size of delta chunks in megabytes", NULL}, + { "filename", 0, 0, G_OPTION_ARG_STRING, &opt_filename, "Write the delta content to PATH (a directory). If not specified, the OSTree repository is used", "PATH"}, { NULL } }; @@ -322,6 +324,9 @@ ot_static_delta_builtin_generate (int argc, char **argv, GCancellable *cancellab if (opt_inline) g_variant_builder_add (parambuilder, "{sv}", "inline-parts", g_variant_new_boolean (TRUE)); + if (opt_filename) + g_variant_builder_add (parambuilder, "{sv}", + "filename", g_variant_new_bytestring (opt_filename)); g_variant_builder_add (parambuilder, "{sv}", "verbose", g_variant_new_boolean (TRUE)); if (opt_endianness || opt_swap_endianness) diff --git a/tests/test-delta.sh b/tests/test-delta.sh index bb523b47..6d041f72 100755 --- a/tests/test-delta.sh +++ b/tests/test-delta.sh @@ -121,6 +121,14 @@ if ${CMD_PREFIX} ostree --repo=repo static-delta generate --from=${origrev} --to assert_not_reached "static-delta generate --from=${origrev} --empty unexpectedly succeeded" fi +${CMD_PREFIX} ostree --repo=temp-repo init --mode=archive +${CMD_PREFIX} ostree --repo=temp-repo pull-local repo +${CMD_PREFIX} ostree --repo=temp-repo static-delta generate --empty --to=${newrev} --filename=some.delta +assert_has_file some.delta +${CMD_PREFIX} ostree --repo=temp-repo static-delta list > delta-list.txt +assert_file_has_content delta-list.txt 'No static deltas' +rm temp-repo -rf + echo 'ok generate' ${CMD_PREFIX} ostree --repo=repo static-delta show ${origrev}-${newrev} > show.txt