cvsserver: add notes on how to get a checkout under Eclipse
[git.git] / revision.h
1 #ifndef REVISION_H
2 #define REVISION_H
3
4 #define SEEN            (1u<<0)
5 #define UNINTERESTING   (1u<<1)
6
7 struct rev_info {
8         /* Starting list */
9         struct commit_list *commits;
10         struct object_list *pending_objects;
11
12         /* Basic information */
13         const char *prefix;
14         const char **paths;
15
16         /* Traversal flags */
17         unsigned int    dense:1,
18                         remove_empty_trees:1,
19                         lifo:1,
20                         topo_order:1,
21                         tag_objects:1,
22                         tree_objects:1,
23                         blob_objects:1,
24                         edge_hint:1,
25                         limited:1,
26                         unpacked:1;
27
28         /* special limits */
29         int max_count;
30         unsigned long max_age;
31         unsigned long min_age;
32 };
33
34 /* revision.c */
35 extern int setup_revisions(int argc, const char **argv, struct rev_info *revs);
36 extern void mark_parents_uninteresting(struct commit *commit);
37 extern void mark_tree_uninteresting(struct tree *tree);
38
39 struct name_path {
40         struct name_path *up;
41         int elem_len;
42         const char *elem;
43 };
44
45 extern struct object_list **add_object(struct object *obj,
46                                        struct object_list **p,
47                                        struct name_path *path,
48                                        const char *name);
49
50 #endif