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