Browse Source

[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>
maint
Daniel Barkalow 20 years ago committed by Linus Torvalds
parent
commit
6eb8ae00d4
  1. 14
      blob.h
  2. 27
      commit.h
  3. 29
      object.h
  4. 17
      tree.h

14
blob.h

@ -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 */

27
commit.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 */

29
object.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 */

17
tree.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…
Cancel
Save