THIS IS A TEST INSTANCE ONLY! REPOSITORIES CAN BE DELETED AT ANY TIME!

Git Source Code Mirror - This is a publish-only repository and all pull requests are ignored. Please follow Documentation/SubmittingPatches procedure for any of your improvements.
git
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

40 lines
1.2KB

  1. #ifndef SPLIT_INDEX_H
  2. #define SPLIT_INDEX_H
  3. #include "cache.h"
  4. struct index_state;
  5. struct strbuf;
  6. struct ewah_bitmap;
  7. struct split_index {
  8. struct object_id base_oid;
  9. struct index_state *base;
  10. struct ewah_bitmap *delete_bitmap;
  11. struct ewah_bitmap *replace_bitmap;
  12. struct cache_entry **saved_cache;
  13. unsigned int saved_cache_nr;
  14. unsigned int nr_deletions;
  15. unsigned int nr_replacements;
  16. int refcount;
  17. };
  18. struct split_index *init_split_index(struct index_state *istate);
  19. void save_or_free_index_entry(struct index_state *istate, struct cache_entry *ce);
  20. void replace_index_entry_in_base(struct index_state *istate,
  21. struct cache_entry *old,
  22. struct cache_entry *new_entry);
  23. int read_link_extension(struct index_state *istate,
  24. const void *data, unsigned long sz);
  25. int write_link_extension(struct strbuf *sb,
  26. struct index_state *istate);
  27. void move_cache_to_base_index(struct index_state *istate);
  28. void merge_base_index(struct index_state *istate);
  29. void prepare_to_write_split_index(struct index_state *istate);
  30. void finish_writing_split_index(struct index_state *istate);
  31. void discard_split_index(struct index_state *istate);
  32. void add_split_index(struct index_state *istate);
  33. void remove_split_index(struct index_state *istate);
  34. #endif