split-index.hon commit t5520: test pulling an octopus into an unborn branch (7ad39a2)
   1#ifndef SPLIT_INDEX_H
   2#define SPLIT_INDEX_H
   3
   4struct index_state;
   5struct strbuf;
   6struct ewah_bitmap;
   7
   8struct split_index {
   9        unsigned char base_sha1[20];
  10        struct index_state *base;
  11        struct ewah_bitmap *delete_bitmap;
  12        struct ewah_bitmap *replace_bitmap;
  13        struct cache_entry **saved_cache;
  14        unsigned int saved_cache_nr;
  15        unsigned int nr_deletions;
  16        unsigned int nr_replacements;
  17        int refcount;
  18};
  19
  20struct split_index *init_split_index(struct index_state *istate);
  21void save_or_free_index_entry(struct index_state *istate, struct cache_entry *ce);
  22void replace_index_entry_in_base(struct index_state *istate,
  23                                 struct cache_entry *old,
  24                                 struct cache_entry *new);
  25int read_link_extension(struct index_state *istate,
  26                        const void *data, unsigned long sz);
  27int write_link_extension(struct strbuf *sb,
  28                         struct index_state *istate);
  29void move_cache_to_base_index(struct index_state *istate);
  30void merge_base_index(struct index_state *istate);
  31void prepare_to_write_split_index(struct index_state *istate);
  32void finish_writing_split_index(struct index_state *istate);
  33void discard_split_index(struct index_state *istate);
  34
  35#endif