diff options
author | Vincent Ambo <Vincent Ambo> | 2020-01-11T23·36+0000 |
---|---|---|
committer | Vincent Ambo <Vincent Ambo> | 2020-01-11T23·36+0000 |
commit | 1b593e1ea4d2af0f6444d9a7788d5d99abd6fde5 (patch) | |
tree | e3accb9beed5c4c1b5a05c99db71ab2841f0ed04 /split-index.h |
Squashed 'third_party/git/' content from commit cb71568594
git-subtree-dir: third_party/git git-subtree-split: cb715685942260375e1eb8153b0768a376e4ece7
Diffstat (limited to 'split-index.h')
-rw-r--r-- | split-index.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/split-index.h b/split-index.h new file mode 100644 index 000000000000..7a435ca2c970 --- /dev/null +++ b/split-index.h @@ -0,0 +1,39 @@ +#ifndef SPLIT_INDEX_H +#define SPLIT_INDEX_H + +#include "cache.h" + +struct index_state; +struct strbuf; +struct ewah_bitmap; + +struct split_index { + struct object_id base_oid; + struct index_state *base; + struct ewah_bitmap *delete_bitmap; + struct ewah_bitmap *replace_bitmap; + struct cache_entry **saved_cache; + unsigned int saved_cache_nr; + unsigned int nr_deletions; + unsigned int nr_replacements; + int refcount; +}; + +struct split_index *init_split_index(struct index_state *istate); +void save_or_free_index_entry(struct index_state *istate, struct cache_entry *ce); +void replace_index_entry_in_base(struct index_state *istate, + struct cache_entry *old, + struct cache_entry *new_entry); +int read_link_extension(struct index_state *istate, + const void *data, unsigned long sz); +int write_link_extension(struct strbuf *sb, + struct index_state *istate); +void move_cache_to_base_index(struct index_state *istate); +void merge_base_index(struct index_state *istate); +void prepare_to_write_split_index(struct index_state *istate); +void finish_writing_split_index(struct index_state *istate); +void discard_split_index(struct index_state *istate); +void add_split_index(struct index_state *istate); +void remove_split_index(struct index_state *istate); + +#endif |