aboutsummaryrefslogtreecommitdiff
path: root/rev-cache.h
blob: b238ac640c2a99f5bdd099a038207bb9b4552cbe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#ifndef REV_CACHE_H
#define REV_CACHE_H

extern struct rev_cache {
	struct rev_cache *head_list;
	struct rev_list_elem *children;
	struct rev_list_elem *parents;
	struct rev_list_elem *parents_tail;
	unsigned short num_parents;
	unsigned short num_children;
	unsigned int written : 1;
	unsigned int parsed : 1;
	unsigned int work : 30;
	void *work_ptr;
	unsigned char sha1[20];
} **rev_cache;
extern int nr_revs, alloc_revs;

struct rev_list_elem {
	struct rev_list_elem *next;
	struct rev_cache *ri;
};

extern int find_rev_cache(const unsigned char *);
extern int read_rev_cache(const char *, FILE *, int);
extern int record_rev_cache(const unsigned char *, FILE *);
extern void write_rev_cache(const char *new, const char *old);

#endif