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 @@
@@ -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 @@
@@ -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 @@
@@ -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 */ |
@ -0,0 +1,17 @@
@@ -0,0 +1,17 @@
|
||||
#ifndef TREE_H |
||||
#define TREE_H |
||||
|
||||
#include "object.h" |
||||
|
||||
extern const char *tree_type; |
||||
|
||||
struct tree { |
||||
struct object object; |
||||
unsigned has_full_path : 1; |
||||
}; |
||||
|
||||
struct tree *lookup_tree(unsigned char *sha1); |
||||
|
||||
int parse_tree(struct tree *tree); |
||||
|
||||
#endif /* TREE_H */ |
Loading…
Reference in new issue