提交 6eb8ae00 编写于 作者: D Daniel Barkalow 提交者: Linus Torvalds

[PATCH] Header files for object parsing

This adds the structs and function declarations for parsing git objects.
Signed-Off-By: NDaniel Barkalow <barkalow@iabervon.org>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 6683463e
#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 */
#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 */
#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 */
#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 */
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册