mirror of
https://github.com/git/git
synced 2024-09-29 21:27:13 +00:00
40a163f217
A new command has been added to migrate a repository that uses the files backend for its ref storage to use the reftable backend, with limitations. * 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
34 lines
685 B
C
34 lines
685 B
C
/*
|
|
Copyright 2020 Google LLC
|
|
|
|
Use of this source code is governed by a BSD-style
|
|
license that can be found in the LICENSE file or at
|
|
https://developers.google.com/open-source/licenses/bsd
|
|
*/
|
|
|
|
#ifndef MERGED_H
|
|
#define MERGED_H
|
|
|
|
#include "system.h"
|
|
|
|
struct reftable_merged_table {
|
|
struct reftable_table *stack;
|
|
size_t stack_len;
|
|
uint32_t hash_id;
|
|
|
|
/* If unset, produce deletions. This is useful for compaction. For the
|
|
* full stack, deletions should be produced. */
|
|
int suppress_deletions;
|
|
|
|
uint64_t min;
|
|
uint64_t max;
|
|
};
|
|
|
|
struct reftable_iterator;
|
|
|
|
void merged_table_init_iter(struct reftable_merged_table *mt,
|
|
struct reftable_iterator *it,
|
|
uint8_t typ);
|
|
|
|
#endif
|