#ifndef INCLUDE_commit_list_h__
#define INCLUDE_commit_list_h__
+#include "common.h"
+
#include "git2/oid.h"
#define PARENT1 (1 << 0)
typedef struct git_commit_list_node {
git_oid oid;
int64_t time;
+ uint32_t generation;
unsigned int seen:1,
uninteresting:1,
topo_delay:1,
added:1,
flags : FLAG_BITS;
- unsigned short in_degree;
- unsigned short out_degree;
+ uint16_t in_degree;
+ uint16_t out_degree;
struct git_commit_list_node **parents;
} git_commit_list_node;
} git_commit_list;
git_commit_list_node *git_commit_list_alloc_node(git_revwalk *walk);
+int git_commit_list_generation_cmp(const void *a, const void *b);
int git_commit_list_time_cmp(const void *a, const void *b);
void git_commit_list_free(git_commit_list **list_p);
git_commit_list *git_commit_list_insert(git_commit_list_node *item, git_commit_list **list_p);