зеркало из https://github.com/microsoft/git.git
[PATCH] Header files for object parsing
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>
This commit is contained in:
Родитель
6683463ed6
Коммит
6eb8ae00d4
|
@ -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 */
|
|
@ -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 */
|
Загрузка…
Ссылка в новой задаче