]> git.ipfire.org Git - thirdparty/git.git/commitdiff
Merge branch 'ps/submodule-ref-format'
authorJunio C Hamano <gitster@pobox.com>
Thu, 15 Aug 2024 20:22:14 +0000 (13:22 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 15 Aug 2024 20:22:14 +0000 (13:22 -0700)
Support to specify ref backend for submodules has been enhanced.

* ps/submodule-ref-format:
  object: fix leaking packfiles when closing object store
  submodule: fix leaking seen submodule names
  submodule: fix leaking fetch tasks
  builtin/submodule: allow "add" to use different ref storage format
  refs: fix ref storage format for submodule ref stores
  builtin/clone: propagate ref storage format to submodules
  builtin/submodule: allow cloning with different ref storage format
  git-submodule.sh: break overly long command lines

1  2 
builtin/submodule--helper.c
refs.c

index 673810d2c06ac6bf73c3d7f0e77affd4d8bcb7fc,48f4577b53f1d94208a4df68db61bf3d40ac0e5d..ce452433088f66f1af5c929af9fd584ee370be51
@@@ -1530,8 -1530,9 +1530,9 @@@ struct module_clone_data 
        const char *path;
        const char *name;
        const char *url;
 -      const char *depth;
 +      int depth;
        struct list_objects_filter_options *filter_options;
+       enum ref_storage_format ref_storage_format;
        unsigned int quiet: 1;
        unsigned int progress: 1;
        unsigned int dissociate: 1;
@@@ -1849,9 -1855,12 +1855,11 @@@ static int module_clone(int argc, cons
                OPT_STRING_LIST(0, "reference", &reference,
                           N_("repo"),
                           N_("reference repository")),
+               OPT_STRING(0, "ref-format", &ref_storage_format, N_("format"),
+                          N_("specify the reference format to use")),
                OPT_BOOL(0, "dissociate", &dissociate,
                           N_("use --reference only while cloning")),
 -              OPT_STRING(0, "depth", &clone_data.depth,
 -                         N_("string"),
 +              OPT_INTEGER(0, "depth", &clone_data.depth,
                           N_("depth for shallow clones")),
                OPT__QUIET(&quiet, "suppress output for cloning a submodule"),
                OPT_BOOL(0, "progress", &progress,
@@@ -3201,9 -3232,10 +3235,10 @@@ static int add_submodule(const struct a
  
                        string_list_append(&reference, p)->util = p;
                }
+               clone_data.ref_storage_format = add_data->ref_storage_format;
                clone_data.dissociate = add_data->dissociate;
                if (add_data->depth >= 0)
 -                      clone_data.depth = xstrfmt("%d", add_data->depth);
 +                      clone_data.depth = add_data->depth;
  
                if (clone_submodule(&clone_data, &reference))
                        goto cleanup;
diff --cc refs.c
Simple merge