mirror of
https://github.com/git/git.git
synced 2024-11-27 03:53:55 +08:00
[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:
parent
6683463ed6
commit
6eb8ae00d4
14
blob.h
Normal file
14
blob.h
Normal file
@ -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 */
|
27
commit.h
Normal file
27
commit.h
Normal file
@ -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 */
|
29
object.h
Normal file
29
object.h
Normal file
@ -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
Block a user