Browse Source
This adds the structs and function declarations for parsing git objects. Signed-Off-By: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>maint


4 changed files with 87 additions and 0 deletions
@ -0,0 +1,14 @@ |
|||||||
|
#ifndef BLOB_H |
||||||
|
#define BLOB_H |
||||||
|
|
||||||
|
#include "object.h" |
||||||
|
|
||||||
|
extern const char *blob_type; |
||||||
|
|
||||||
|
struct blob { |
||||||
|
struct object object; |
||||||
|
}; |
||||||
|
|
||||||
|
struct blob *lookup_blob(unsigned char *sha1); |
||||||
|
|
||||||
|
#endif /* BLOB_H */ |
@ -0,0 +1,27 @@ |
|||||||
|
#ifndef COMMIT_H |
||||||
|
#define COMMIT_H |
||||||
|
|
||||||
|
#include "object.h" |
||||||
|
#include "tree.h" |
||||||
|
|
||||||
|
struct commit_list { |
||||||
|
struct commit *item; |
||||||
|
struct commit_list *next; |
||||||
|
}; |
||||||
|
|
||||||
|
struct commit { |
||||||
|
struct object object; |
||||||
|
unsigned long date; |
||||||
|
struct commit_list *parents; |
||||||
|
struct tree *tree; |
||||||
|
}; |
||||||
|
|
||||||
|
extern const char *commit_type; |
||||||
|
|
||||||
|
struct commit *lookup_commit(unsigned char *sha1); |
||||||
|
|
||||||
|
int parse_commit(struct commit *item); |
||||||
|
|
||||||
|
void free_commit_list(struct commit_list *list); |
||||||
|
|
||||||
|
#endif /* COMMIT_H */ |
@ -0,0 +1,29 @@ |
|||||||
|
#ifndef OBJECT_H |
||||||
|
#define OBJECT_H |
||||||
|
|
||||||
|
struct object_list { |
||||||
|
struct object *item; |
||||||
|
struct object_list *next; |
||||||
|
}; |
||||||
|
|
||||||
|
struct object { |
||||||
|
unsigned parsed : 1; |
||||||
|
unsigned used : 1; |
||||||
|
unsigned int flags; |
||||||
|
unsigned char sha1[20]; |
||||||
|
const char *type; |
||||||
|
struct object_list *refs; |
||||||
|
}; |
||||||
|
|
||||||
|
int nr_objs; |
||||||
|
struct object **objs; |
||||||
|
|
||||||
|
struct object *lookup_object(unsigned char *sha1); |
||||||
|
|
||||||
|
void created_object(unsigned char *sha1, struct object *obj); |
||||||
|
|
||||||
|
void add_ref(struct object *refer, struct object *target); |
||||||
|
|
||||||
|
void mark_reachable(struct object *obj, unsigned int mask); |
||||||
|
|
||||||
|
#endif /* OBJECT_H */ |
Loading…
Reference in new issue