read-cache: mark updated entries for split index
[git] / split-index.h
1 #ifndef SPLIT_INDEX_H
2 #define SPLIT_INDEX_H
3
4 struct index_state;
5 struct strbuf;
6
7 struct split_index {
8         unsigned char base_sha1[20];
9         struct index_state *base;
10         unsigned int saved_cache_nr;
11         int refcount;
12 };
13
14 struct split_index *init_split_index(struct index_state *istate);
15 void save_or_free_index_entry(struct index_state *istate, struct cache_entry *ce);
16 void replace_index_entry_in_base(struct index_state *istate,
17                                  struct cache_entry *old,
18                                  struct cache_entry *new);
19 int read_link_extension(struct index_state *istate,
20                         const void *data, unsigned long sz);
21 int write_link_extension(struct strbuf *sb,
22                          struct index_state *istate);
23 void move_cache_to_base_index(struct index_state *istate);
24 void merge_base_index(struct index_state *istate);
25 void prepare_to_write_split_index(struct index_state *istate);
26 void finish_writing_split_index(struct index_state *istate);
27 void discard_split_index(struct index_state *istate);
28
29 #endif