]> git.ipfire.org Git - thirdparty/git.git/commitdiff
Merge branch 'ps/ref-storage-migration' into ps/use-the-repository
authorJunio C Hamano <gitster@pobox.com>
Thu, 13 Jun 2024 16:39:08 +0000 (09:39 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 13 Jun 2024 16:39:08 +0000 (09:39 -0700)
* ps/ref-storage-migration:
  builtin/refs: new command to migrate ref storage formats
  refs: implement logic to migrate between ref storage formats
  refs: implement removal of ref storages
  worktree: don't store main worktree twice
  reftable: inline `merged_table_release()`
  refs/files: fix NULL pointer deref when releasing ref store
  refs/files: extract function to iterate through root refs
  refs/files: refactor `add_pseudoref_and_head_entries()`
  refs: allow to skip creation of reflog entries
  refs: pass storage format to `ref_store_init()` explicitly
  refs: convert ref storage format to an enum
  setup: unset ref storage when reinitializing repository version

1  2 
Makefile
builtin/clone.c
refs/files-backend.c
refs/reftable-backend.c
reftable/merged.c
reftable/merged.h
reftable/stack.c
repository.c
setup.c

diff --cc Makefile
Simple merge
diff --cc builtin/clone.c
index 730b3efae6085555d8e1b454903efce1726b41c5,e808e02017872fa3b8c64d50eb8c096789eb5f49..b89ca925b19a533c71249308ecb37aead53a536e
@@@ -970,8 -970,10 +970,8 @@@ int cmd_clone(int argc, const char **ar
        int submodule_progress;
        int filter_submodules = 0;
        int hash_algo;
-       unsigned int ref_storage_format = REF_STORAGE_FORMAT_UNKNOWN;
+       enum ref_storage_format ref_storage_format = REF_STORAGE_FORMAT_UNKNOWN;
        const int do_not_override_repo_unix_permissions = -1;
 -      const char *template_dir;
 -      char *template_dir_dup = NULL;
  
        struct transport_ls_refs_options transport_ls_refs_options =
                TRANSPORT_LS_REFS_OPTIONS_INIT;
Simple merge
index 438b5c478b49faebc1295bb4f8cdad8bca026648,da6b3162f33424384db1fdd9d99beedf677dc264..9886fc67a47877bb3d89f188553d5f1d17943be8
@@@ -1,7 -1,7 +1,8 @@@
  #include "../git-compat-util.h"
  #include "../abspath.h"
  #include "../chdir-notify.h"
 +#include "../config.h"
+ #include "../dir.h"
  #include "../environment.h"
  #include "../gettext.h"
  #include "../hash.h"
Simple merge
index a10469f58ef4232ec5de2effd1876f2a0999b5f2,9db45c31961930744e846c689d47693c3963f8db..2efe571da67af26a541f16fa057c2a400f4af9e6
@@@ -24,12 -24,4 +24,10 @@@ struct reftable_merged_table 
        uint64_t max;
  };
  
- void merged_table_release(struct reftable_merged_table *mt);
 +struct reftable_iterator;
 +
 +void merged_table_init_iter(struct reftable_merged_table *mt,
 +                          struct reftable_iterator *it,
 +                          uint8_t typ);
 +
  #endif
Simple merge
diff --cc repository.c
Simple merge
diff --cc setup.c
Simple merge